Студопедия

Главная страница Случайная страница

КАТЕГОРИИ:

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Жалғызданған мұрагерлік




Объектілі бағытталған класстар шынайы және бағдарламалы желінің концепцияларын модельдеуге қолданылады. Пәндік аймақтың концепциялары әр түрлі қарым қатынаста болады. Сондай қарым-қатынастардың бірі – мұрагерлік қатынасы.

Мұрагерлік – класс алдындағы ұрпақтың барлық қасиеттерін және әдістерін сақтай отырып, бір кластың басқа кластан пайда болу мүмкіндігі. Мұрагерлік қатынасымен байланысқан кластар жиынтығы – иерархия деп атайды. Нақтырақ айтқанда, объект келесі объектінің негізгі қасиеттерін мұра ете алады және тек оған ғана сәйкес кескіндер қоса алады. Мұрагерлік маңызды, себебі ол кластар иерархиясын қолдану үлкен информация лектерін басқарылатындай етеді.

Мысалы, егерде 1.2 тапсырманың шарты тек қана үшбұрыштарды ғана емес, сонымен қатар төртбұрыштарды өңдеу талаптарында сақталса, жаңа Tetragon класының талдануы Triangle класының жалпы болмысын анықтар еді. Үшбұрыштардың да, төртбұрыштардың да “көпбұрыш” деген жалпы ұғымнан гөрі жеке(арнайы, нақты) жағдай, бұндай жалпылықтың себебі болып табылады. Сондықтанда Triangle және Polygon класын жасау, ал соңғы екі класты базалық Polygon класының мұрагері деп хабарлау ұтымды болар еді. С++ тілі бұны жеңіл жасауға мүмкіндік береді:

class Polygon{

// . . .

};

class Triangle: public Polygon{

public:

Show();

};

class Tetragon:public Polygon{

public:

Show();

}:

Бұл мысалда туынды кластар Triangle және Tetragon барлық базалық элементтерді Polygon мұрагерлікке алады, бірақ олардың әрқайсысының өзіндік әдісі бар show(). Кейбір кезде мұрагерлік қарым қатынас <<is a>> қарым-қатынас деп аталады, кей кезде бұны “өзімен көрсету” депте атайды. Туынды кластың ортақ синтаксисы жай мұрагерліктің пайда болуы:

class аты: пайда_болу кілті, базалық_класс аты {

// класстың денесі

}:

Көпші түрдегі мұрагерлік кезінде екі нүктеден кейін үтір қойылады және барлық базалық кластар пайда болу кілтімен бірге.



Мұрагерлік түрі Базалық класта компоненттерді анықтау Туынды класта компоненттердің көрінуі
Private Private protected public мүмкін емес Private Private
Protected Private protected public мүмкін емес protected protected
Public Private protected public мүмкін емес protected public

Туынды кластың өзі қандай да бір класс үшін базалық бола алады. Бұндай класс аралық байланыстар кластар иеархиясын құрайды. Иеархия көбінесе ағаш болып табылады, бірақ та графалын құрылым бола алмайды. Мұндағы мұрагерлік түрі public, protected, private кілттік сөздермен анықталады. Егер мұрагерлік түрі көрсетілмесе онда үнсіз жағдайда public қолданылады. Бірақ программалардың жақсы стилі кез – келген жағдайда мұрагерлік түрі көрсетілуін талап етеді.

 

 

Т

 

 

Туынды класстан базалық класстың өрістерімен функцияның көрінуі мұрагерлік түрімен анықталады және кестеде келтірілген:

Жалпы мұрагерліктің екі түрі бар:

1. Жалғызданған мұрагерлік

2. Көпше түрдегі мұрагерлік

 


mylektsii.ru - Мои Лекции - 2015-2018 год. (0.006 сек.)Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав Пожаловаться на материал