Добро пожаловать! Это — архивная версия форумов на «Хакер.Ru». Она работает в режиме read-only.
 

Помогите понять задание (delphi)

Пользователи, просматривающие топик: none

Зашли как: Guest
Все форумы >> [Компилируемые языки] >> Помогите понять задание (delphi)
Имя
Сообщение << Старые топики   Новые топики >>
Помогите понять задание (delphi) - 2011-11-22 04:05:54.760000   
_SaZ_

Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
Осилить следующее задание в университете оказался не в состоянии, прошу помощи:
Язык реализации — Delphi (хотя на самом деле — не принципиально, подойдёт любой ОО язык).
quote:

Описать класс-родитель и класс-потомок, имеющие методы, указанные в соответствующем варианте задания (потомок наследует или переопределяет методы родителя и приобретает новые). Предусмотреть необходимое количество кнопок для демонстрации каждого из методов объектов.

Задание: Нарисовать самосвал, который может поднимать кузов. Родительский класс – перемещающийся прямоугольник.


Главный для меня вопрос: что "самосвал" может наследовать из вышеперечисленного у "прямоугольника"?

Если предположить, что самосвал должен рисоваться достаточно условно и может состоять из прямоугольников — то это типичное агрегирование, но никак не наследование.
Если же нет — то я просто теряюсь в догадках, что можно переопределить у прямоугольника (и зачем тут вообще тогда наследование).

З.Ы. особенно приятно будет услышать мнение rgo по этому вопросу.
Post #: 1
RE: Помогите понять задание (delphi) - 2011-11-22 12:41:08.536666   
rgo

Сообщений: 7170
Оценки: 281
Присоединился: 2004-09-25 05:14:25
Может дело в том, что самосвал как и прямоугольник может перемещаться? Таким образом демонстрируется наследование методов. А подъём кузова – это приобретение нового метода. По-крайней мере, такая трактовка формально подходит описанию задачи.
Post #: 2
RE: Помогите понять задание (delphi) - 2011-11-22 15:29:45.370000   
_SaZ_

Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
Да, скорее всего так и буду делать. Хотя структура классов всё равно получается дурацкая. Печально всё это…

Выше была дана задача для первого курса дистанционной формы обучения (поит). Раньше по программе изучался паскаль ("синенькая консолька" или просто console app, без лишних наворотов), но сверху пришло указание срочно модернизировать программу обучения и внедрять современные языки и среды (Delphi вместо Turbo Pascal). Преподаватели к таким инновациям отнеслись с огромным энтузиазмом и радостно принялись переделывать вполне логичные старые задачи на новый лад. И срочно придумывать новые (особенно "хорошо" это получается у Delphi-преподавателей, которые программированием в последний раз занимались ооочень много лет назад в том самом TP) про всякие самосвалы и т.п. Например:
Было: Ввести с клавиатуры два числа, вывести их сумму, если первое больше второго; иначе вывести их произведение.
Стало (после "модернизации", дословно): Ввести два числа, вывести их сумму, если первое больше второго; иначе вывести их произведение. Для ввода данных использовать TEdit (для ввода матриц — TStringGrid). Для обработки некорректного ввода использовать блоки try except.
Собственно что бросается в глаза:
— Понятие исключительных ситуаций и их обработка объясняется за 5-10 минут в начале лабораторной (а часто даётся первокурсникам на самостоятельное изучение)
— Условия задач генерировались из старых, заточенных под консоль, условий с внедрением некоторых "шаблонов" для ввода-вывода данных (TEdit — для текста, TStringGrid — для матриц, TButton — для выполнения действий и т.п.). В результате во многих случаях получается никому не нужный бред.
— Разработка UI затрачивает основную часть времени и студенты вместо того, чтобы фокусироваться на решении задачи перепахивают гугл в поисках ответа на вопрос, почему переменной типа integer нельзя присвоить string? И такие студенты даже не представляют, как может существовать приложение без "главной формы".
— Такое введение в программирование рождает огромные массы формошлёпов, которые ничего не умеют и для которых любой технический вопрос начинается с фразы "А где взять компонент, который… ?"
Post #: 3
Страниц:  [1]
Все форумы >> [Компилируемые языки] >> Помогите понять задание (delphi)







Связаться:
Вопросы по сайту / xakep@glc.ru

Предупреждение: использование полученных знаний в противозаконных целях преследуется по закону.