![]() Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Жалғызданған мұрагерлік
Объектілі – бағ ытталғ ан класстар шынайы жә не бағ дарламалы желінің концепцияларын модельдеуге қ олданылады. Пә ндік аймақ тың концепциялары ә р тү рлі қ арым – қ атынаста болады. Сондай қ арым-қ атынастардың бірі – мұ рагерлік қ атынасы. Мұ рагерлік – класс алдындағ ы ұ рпақ тың барлық қ асиеттерін жә не ә дістерін сақ тай отырып, бір кластың басқ а кластан пайда болу мү мкіндігі. Мұ рагерлік қ атынасымен байланысқ ан кластар жиынтығ ы – иерархия деп атайды. Нақ тырақ айтқ анда, объект келесі объектінің негізгі қ асиеттерін мұ ра ете алады жә не тек оғ ан ғ ана сә йкес кескіндер қ оса алады. Мұ рагерлік маң ызды, себебі ол кластар иерархиясын қ олдану ү лкен информация лектерін басқ арылатындай етеді. Мысалы, егерде 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 аты: пайда_болу кілті, базалық _класс аты { // класстың денесі }: Кө пші тү рдегі мұ рагерлік кезінде екі нү ктеден кейін ү тір қ ойылады жә не барлық базалық кластар пайда болу кілтімен бірге.
Туынды кластың ө зі қ андай да бір класс ү шін базалық бола алады. Бұ ндай класс аралық байланыстар кластар иеархиясын қ ұ райды. Иеархия кө бінесе ағ аш болып табылады, бірақ та графалын қ ұ рылым бола алмайды. Мұ ндағ ы мұ рагерлік тү рі public, protected, private кілттік сө здермен анық талады. Егер мұ рагерлік тү рі кө рсетілмесе онда ү нсіз жағ дайда public қ олданылады. Бірақ программалардың жақ сы стилі кез – келген жағ дайда мұ рагерлік тү рі кө рсетілуін талап етеді.
Т
Туынды класстан базалық класстың ө рістерімен функцияның кө рінуі мұ рагерлік тү рімен анық талады жә не кестеде келтірілген: Жалпы мұ рагерліктің екі тү рі бар: 1. Жалғ ызданғ ан мұ рагерлік 2. Кө пше тү рдегі мұ рагерлік
|