Студопедия

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

Разделы сайта

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






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






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

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

Мысалы, егерде 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. Кө пше тү рдегі мұ рагерлік

 






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.