Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Компоненты и классы
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 22.09.2009, 17:52
Аватар для Krotova Darya
Krotova Darya Krotova Darya вне форума
Прохожий
 
Регистрация: 19.09.2009
Адрес: Россия,Самара
Сообщения: 5
Репутация: 10
Вопрос Иерархия классов

Помогите написать программу...Delphi только начала изучать...хотя бы в общем виде как подступиться к заданию.. Нужно придумать и разработать иерархию классов, основываясь на следующем предмете "емкость". В иерархии должно быть не менее трех уровней, должны переопределяться методы, должны быть использованы все модификаторы доступа (обоснованно). На каждом уровне иерархии (кроме первого) должно быть не менее двух классов. Кроме того, Нужно написать тестирующий класс (или метод), демонстрирующий все возможности этой иерархии.
Ответить с цитированием
  #2  
Старый 22.09.2009, 17:54
Аватар для Aristarh Dark
Aristarh Dark Aristarh Dark вне форума
Модератор
 
Регистрация: 07.10.2005
Адрес: Москва
Сообщения: 2,907
Версия Delphi: Delphi XE
Репутация: выкл
По умолчанию

Под словом "емкость" что подразумевалось? Бочка, ведро, конденцатор?
__________________
Некоторые программисты настолько ленивы, что сразу пишут рабочий код.

Если вас наказали ни за что - радуйтесь: вы ни в чем не виноваты.
Ответить с цитированием
  #3  
Старый 22.09.2009, 17:55
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,096
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Ну и в чем проблема?
Для наччала надо придумать как раз не саму иерархию,а те объекты, которые она будет описывать.
Например,
Код:
           Емкость
            /         \
     Бутылка      Канистра
      /         \
Стеклянная Пластиковая
ну и так далее.
А дельше просто переводишь это все в код.
Ответить с цитированием
  #4  
Старый 22.09.2009, 18:04
Аватар для Krotova Darya
Krotova Darya Krotova Darya вне форума
Прохожий
 
Регистрация: 19.09.2009
Адрес: Россия,Самара
Сообщения: 5
Репутация: 10
По умолчанию

объекты я себе представляла подобные, а вот какие методы к ним не очень.. делала программы большей части по математическим расчетам...а тут..
Ответить с цитированием
  #5  
Старый 22.09.2009, 18:15
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,096
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Ну не знаю...
Если угадал с типом емкости, то можно сделать такие методы:
-Открыть
-Закрыть
-Наполнить
-Опустошить
-НаполнитьЧастично
-ОпустошитьЧастично

+ защищенные методы для выполнения методов наполнить и опустошить, с контрллем объема.
Ответить с цитированием
  #6  
Старый 22.09.2009, 18:28
Аватар для Krotova Darya
Krotova Darya Krotova Darya вне форума
Прохожий
 
Регистрация: 19.09.2009
Адрес: Россия,Самара
Сообщения: 5
Репутация: 10
По умолчанию

мм, открыть/закрыть "бутылка" ,например, это как в коде примерно??? =(
Ответить с цитированием
  #7  
Старый 22.09.2009, 18:32
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,096
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Это простановка флага.

Код:
type
  TBottle = class(...)
  private
    FOpened : Boolean;
  publuc
    procedure Open;
    procedure Close;
  
    property IsOpened : Boolean read FOpened;
  end;

procedure TBottle.Open;
begin
  FOpened := True;
end;

procedure TBottle.Close;
begin
  FOpened := False;
end;

естественно, конструктор, деструктор и др. методы опущены
Ответить с цитированием
  #8  
Старый 22.09.2009, 18:38
Аватар для Krotova Darya
Krotova Darya Krotova Darya вне форума
Прохожий
 
Регистрация: 19.09.2009
Адрес: Россия,Самара
Сообщения: 5
Репутация: 10
По умолчанию

спасибо за первый шаг).. буду дальше соображать ,А если что , спросить по мелочи или что ещё, вас можно только на форуме найти?
Ответить с цитированием
  #9  
Старый 22.09.2009, 18:58
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,096
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Нет, не только
Аську в приват кинь.
Ответить с цитированием
  #10  
Старый 22.09.2009, 19:11
Аватар для Aristarh Dark
Aristarh Dark Aristarh Dark вне форума
Модератор
 
Регистрация: 07.10.2005
Адрес: Москва
Сообщения: 2,907
Версия Delphi: Delphi XE
Репутация: выкл
По умолчанию

И не правильно
Главный класс тогда будет TVolume и у него будет одно свойсто "Объем"
От него наследуется класс: емкость которую можно наполнять и опустошать, т.е. имеем 2 метода
Даллее класс описывающий вид емкости (новое свойство): ведро, бутылка, банка, кастрюля.
И т.д.
__________________
Некоторые программисты настолько ленивы, что сразу пишут рабочий код.

Если вас наказали ни за что - радуйтесь: вы ни в чем не виноваты.
Ответить с цитированием
  #11  
Старый 22.09.2009, 19:18
Аватар для Krotova Darya
Krotova Darya Krotova Darya вне форума
Прохожий
 
Регистрация: 19.09.2009
Адрес: Россия,Самара
Сообщения: 5
Репутация: 10
По умолчанию

!!!!!да,да,да... идея хорошая, но сложности впереди) Большое спасибо)внимательные тут люди..приятно
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 17:56.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025