Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
CУБД_жауап_40.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
915.97 Кб
Скачать
  1. Иерархия

Объектке-бағытталған технология объектті моделге негізделеді.Оның негізгі принциптеріне: инкапсуляция, модульділік, типизация, иерархиялылық, параллелизм және сақталатындық жатады. Мұндағы әр принцип өз бетінше жаңа емес,бірақ бұлар объектті моделде алғашқы рет жиынтық ретінде қолданылуда.

Маңызды ықшамда күрделі тапсырманы иерархиялық құрылымның абстракциясы арқылы шешеміз. Иерархияны келесі түрде анықтаймыз:

Иерархия- абстракцияның реттілеуі, олардың деңгейлерге ,бөлінуі. Иерархиялық құрылымның күрделі жүйелерде түрлері: класстың("isa" иерархиясы) құрылымы және нысанның("part of" иерархиясы) құрылымы болып табылады.

Иерархияның негізгі түрі "isa" болып табылады. "isa" жоғарғы мұрагерлік концепсияны тұжырымдайды.Мұрагерлік класстар арасындағы қатынаста мынадай мағына береді(ұрпақтық қатынас): бір класс құрылымдық немесе функциялық басқа бір немесе бірнеше класс бөлігін пайдаланған жағдайда (сәйкесінше, жеке және көпшілік мұрагерлік).

Мұрагерлік класс тармақтары бір немесе бірнеше суперкласстан кейін құралатын абстракцияның иерархиясын құрады.

Жиі жағдайда класс тармақтары жоғарғы класстың компонентін құрап бітіреді немесе көшіріп алады.

Мысалы:

Бақша жүйесінде өсімдіктің түрлерін қарастырамыз.

Әр түрлі дақылдар бөлек жоспарларды сұрайды. Жемістер үшін жоспарлар бір-біріне ұқсас, бірақ көкөніс немесе гүлдер жоспарларынан айырмашылық болады. Егістің жиынынын және тозаңдануын қосып жаңа деңгейде құрамыз.

C++ "жеміс" жоспары

// Бақша типі

typedef unsigned int Yield;

class FruitGrowingPlan : public GrowingPlan {

public:

FruitGrowingPlan(char* name);

virtual ~FruitGrowingPlan();

virtual void establish(Day, Hour, Condition&);

void scheduleHarvest(Day, Hour);

Boolean isHarvested() const;

unsigned daysUntilHarvest() const;

Yield estimatedYield() const;

protected:

Boolean repHarvested;

Yield repYield;

  1. Типтелу: анықтама, мысалдар.

Объектке-бағытталған технология объектті моделге негізделеді.Оның негізгі принциптеріне: инкапсуляция,модульділік,типизация,иерархиялылық,параллелизм және сақталатындық жатады. Мұндағы әр принцип өз бетінше жаңа емес,бірақ бұлар объектті моделде алғашқы рет жиынтық ретінде қолданылуда.

Типтелу - бұл бір класстың орнына басқа класстың қолданылуына қорғаныс.

Типтелу программалау тілінің қабылданған жобалық шешімін орындауға итермелейді.

Программалау тілінде күшті немесе әлсіз типтелу механизмі болады және болмауы да мүмкін.

Мысалы:

Теплицада қолданылатын түрлі сыйымдылықты үлгі абстракциясын қарастырамыз. Ол жерде суға, минерал тыңайтқышқа арналған сыйымдылық бар.Бірақ біріншілері суға арналған, екіншісі сусымалы заттарға арналған. Олар иерархия классын құру үшін жеткілікті ұқсатықтары бар.

Типі:

// Сандар, 0 - 100 %

typedef float Level;

сыйымдылық үшін иерархию классы:

class StorageTank {

public:

StorageTank();

virtual ~StorageTank();

virtual void fill();

virtual void startDraining();

virtual void stopDraining();

Boolean isEmpty() const;

Level level() const;

protected:

...

};

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]