Движение, Объекты |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
Движение, Объекты |
Client |
Сообщение
#1
|
Профи Группа: Пользователи Сообщений: 865 Пол: Мужской Реальное имя: Вячеслав Репутация: 20 |
Задали задачку, сделать движение фигур(объектов) с использованием наследования и полиморфизма. Со стороны ООП правильно ли она сделана?
Прикрепленные файлы QWERY.PAS ( 981 байт ) Кол-во скачиваний: 318 PRIMER.PAS ( 1.67 килобайт ) Кол-во скачиваний: 298 |
Lapp |
Сообщение
#2
|
Уникум Группа: Пользователи Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: 159 |
сделать движение фигур(объектов) с использованием наследования и полиморфизма. Со стороны ООП правильно ли она сделана? 1. В головной объект введи процедуру procedure Move(u,v: integer); В наследниках ее НЕ переопределяй. 2. Объект Line характеризуй не абсолютным положением второй точки, а смещением от x,y (то есть типа размером и наклоном). То же самое с прямоугольником - укажи стороны (могут быть отрицательными). Рисовать по-английски draw . -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
volvo |
Сообщение
#3
|
Гость |
Цитата Со стороны ООП правильно ли она сделана? Со стороны ООП - нет... Конструкторы не наследуются от предков к потомкам, поэтому надо в КАЖДОМ типе, содержащем виртуальный метод иметь свой конструктор. Иначе будешь иметь проблемы У тебя же ни в tochka, ни в pryam конструкторов нет. |
Client |
Сообщение
#4
|
Профи Группа: Пользователи Сообщений: 865 Пол: Мужской Реальное имя: Вячеслав Репутация: 20 |
Lapp, именно так я и хотел сделать, но из-за линии и прямоугольника передумал.
Цитата Конструкторы не наследуются от предков к потомкам Как в этом случае надо сделать? |
volvo |
Сообщение
#5
|
Гость |
Цитата Как в этом случае надо сделать? Во-первых, добавить конструкторы туда, где их нет... Во-вторых я бы как минимум немного поправил модуль primer. Вот так:primer.pas ( 1.67 килобайт ) Кол-во скачиваний: 534 |
Client |
Сообщение
#6
|
Профи Группа: Пользователи Сообщений: 865 Пол: Мужской Реальное имя: Вячеслав Репутация: 20 |
Цитата я бы как минимум немного поправил модуль В добавленных конструкторах
inherited init(x1, y1, c1)это вроде все изменения? |
volvo |
Сообщение
#7
|
Гость |
Не совсем... Я переделал Draw, оно теперь не получает цвет, а работает с тем цветом, который установлен Show/Hide базового типа.
|
Client |
Сообщение
#8
|
Профи Группа: Пользователи Сообщений: 865 Пол: Мужской Реальное имя: Вячеслав Репутация: 20 |
СПАСИБО!!!
|
Текстовая версия | 20.04.2024 3:15 |