![]() |
|
Модераторы: Snowy, MetalFan, bems, Poseidon |
![]()
|
|
| dawystrik |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 118 Регистрация: 23.3.2009 Репутация: нет Всего: нет |
Вот дано такое задание:
Постановка задачи: 1. Создать класс - транспортные средства, имеющий имя и способ передвижения.. Определить конструктор, деструктор и методы доступа (чтения и записи) к полям класса. Создать два производных класса: Класс – пароход, имеющий имя, двигатель, грузоподъемность. Класс – самолет, имеющий имя, двигатель, дальность полета. Определить конструкторы, деструкторы, методы доступа (чтения и записи) имени, двигателя, грузоподъемности, дальности полета. Создать экземпляры объектов всех классов. В методах доступа к данным класса предусмотреть вывод сообщений поясняющих, метод какого класса вызывается.Написать программу, демонстрирующую различные виды переопределения свойств. 2. Программа должна быть реализована в виде модуля (Realiz.pas) и основной программы (Lab3_main.pas). 3. Свойства, объявленные в производных классах должны иметь такой же идентификатор, как и у свойств родительского класса. При переопределении свойств необходимо изменить: • Область видимости родительского свойства; • Спецификаторы доступа родительского свойства; 4. В реализации программы должен быть предусмотрен вывод значения, спецификатора доступа(read, write) и области видимости (public, protected, private) родительского и переопределенного в производных классах свойства. Вот мой код:
Результат выдает немного не тот который должен быть,вместо 3 значений(Название,грузоподъёмность,Двигатель) выдает только одно.А вместо того,чтобы выдавать по функции Get - выдает только то,что я ввела,то есть должно выводить,например "Самолет ЕГ152,Грузоподъемность:123,Двигатель:ракетный" выдает "ЕГ152" или "123" или "ракетный". Помогите найти ошибку!!! Это сообщение отредактировал(а) dawystrik - 23.3.2009, 15:34 Присоединённый файл ( Кол-во скачиваний: 2 )
2.rar 172,99 Kb |
|||
|
||||
| CodeMonkey |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1839 Регистрация: 24.6.2008 Где: Россия, Тверь Репутация: 29 Всего: 89 |
Два разных свойтсва Name и Gruzopod1 используют методы с одним и тем же именем: Get. Нехорошо. Назовите их как-нибудь типа GetName и GetGruzopod1.
Кроме того, не совсем ясно, откуда у самолёта грузоподъёмность (нет в условиях задачи). Далее, совсем уж не ясно, почему метод Get для свойства Name или Gruzopod1 (не знаю, к кому вы хотели его прикрепить) возвращает полное описание объекта, вместо одного его свойства. -------------------- Опытный программист на C++ легко решает любые не существующие в Паскале проблемы. |
|||
|
||||
| dawystrik |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 118 Регистрация: 23.3.2009 Репутация: нет Всего: нет |
насчёт Get я согласна,надо перименовать,но как потом вызывать её??
"Кроме того, не совсем ясно, откуда у самолёта грузоподъёмность (нет в условиях задачи)."-какая разница?? "Далее, совсем уж не ясно, почему метод Get для свойства Name или Gruzopod1 (не знаю, к кому вы хотели его прикрепить) возвращает полное описание объекта, вместо одного его свойства."-не поняла вопроса... |
|||
|
||||
| CodeMonkey |
|
||||||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1839 Регистрация: 24.6.2008 Где: Россия, Тверь Репутация: 29 Всего: 89 |
ээээ... а зачем вам вызывать геттер напрямую? Он вызывается автоматически, когда вы трогаете свойство.
Т.е. как это "какая разница"? А как, по-вашему, мы можем понять, что же вы хотели сделать? Добавлено через 5 минут и 41 секунду
Отсюда следует, что Get должен возвращать грузоподъёмность. Читаем:
Откуда следует, что реально он возвращает описание объекта целиком, а вовсе не только грузоподъёмность. -------------------- Опытный программист на C++ легко решает любые не существующие в Паскале проблемы. |
||||||
|
|||||||
![]()
|
| Правила форума "Delphi: Для новичков" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |