Объекттер полиморфизмі




Презентация қосу
Еуразия Технологиялық Колледжі
https://etc.edupage.org/

Есептеу техникасы және бағдарламалық қамтамасыздандыру

Пән атауы
Объектіге бағытталған бағдарламалау

ЛЕКЦИЯ № 7
Ашық және жабық туынды кластар. Кластар және объектілер үшін кіру мүмкіндігінің
ережелері. Абстракттық кластар және полиморфизм. Контейнерлік кластар.
Полиморфизм түрлері және оны іске асыру. Параметрлік полиморфизм және нұсқалар.
Функция нұсқалары. Кластар нұсқалары.
\

Орындаған:Абдуалиқызы Назерке.
Қабылдаған:М.М.Илипов
Тобы:МвТиПo 4 -1.
Жоспары

1. Объекттер полиморфизмі

2. Кеш байланысу механизмі

3. Мұрагерлік механизмі

Объекттер полиморфизмі

Объекттердің полиморфизмі мынаны
Объектігі бағытталған білдіреді: әртүрлі объекттерге жіберілген
программалауды қолдану бір және сол бір хабарлама программаның
барысында объекттердің орындалу этапында нақты қайсы объект
полиморфизмі қамтамасыз осы хабарламаның қабылдаушысы
етіледі. Бұл термин нені болуына байланысты әртүрлі әрекеттердің
білдіреді? орындалуына (әртүрлі тәсілдердің
шақырылуы)әкелуі мүмкін.

Басқаша айтқанда: қасиеті, қызметі, Мысалы
ішкі құрылымы бойынша әртүрлі Қазірше нақты бір тілдің синтаксисін қолданып
объекттер мағынасы бойынша жатпаймыз. Айталық, Р – объект кӛрсеткіші
бірдей(програмисттің кӛзқарасы болсын. Р кӛрсеткіші програмаманың орындалу
тұрғысынан) әрекеттерді табиғаты мен кезінде түрлі класстарға нұсқауы мүмкін.
ішкі құрылымына байланысты әртүрлі Айталық, ол параметр ретінде қайсыбір ррр
орындауы мүмкін. Егер хабарламаны процедураға берілсін. Хабарлама жіберу тілдің
жіберу тәсілдің процедура сияқты құралдарымен былайша жазылатын болсын
шақырылуына алмастырылған P.Show; ppp процедурасы "паскалдік" стилде
болса(Си, Паскаль тілдерінде), онда былайша сипатталсын procedure ppp(P); begin
полиморфизм мынаны білдіреді: тәсіл P.Show; end; ppp процедурасын шақыру кезінде,
шақыруы сақталған программа Р ретінде түрлі класстардың кӛрсеткіші берілуі
кодының сол және тек сол бір бӛлігі мүмкін. Полиморфизм әсері мынадан кӛрінеді:
кодтың орындалу кезінде қайсы сол және сол бір код (P.Show) Show
класстың экземпляры әрекетті хабарламасына жауап ретінде процедура
орындаушы боп табылуына байланысты параметрі ретінде берілген Р кӛрсеткіші қайсы
әртүрлі тәсілдердің шақырылуына классты нұсқауына байланысты түрлі тәсілдің
4 әкеледі. шақырылуына әкелед

Кеш байланысу механизмі

Полиморфизмді жүзеге асыру үшін ОБП тілі
кеш байланысу механизмін қолдауы қажет.
Кеш байланысу механизмінің мәні мынада:
жіберілген хабарламаға жауап қату үшін
керекті нақты тәсілдің адресі компиляция
этапында емес, прогрмманың орындалу
барысында – хабарламаны жіберу кезінде
анықталады

Кеш байланысуды жүзеге асыру үшін
объект тәсілі жӛніндегі мәлімет оның
ӛзінде бар болуы керектігі айқын. Әдетте,
қайсыбір класстың экземплярында ӛз
тәсілдерінің кӛрсеткіші бар болады немесе
класстың барлық экземплярлары үшін
ортақ осындай кӛрсеткіштер кестесіне
сілтеме жасайды. Хабарлама жіберу
компилятор арқылы осы мәліметті
объекттің экземплярынан оқу және қажет
адрес бойынша тәсілді шақыруға
алмастырылады. Класстың барлық
экземплялары үшін тәсілдер бірдей
болғандықтан оларды компьтер жадысында
бір мәрте сақтаған дұрыс.
Си++ және Турбо Паскаль тілдерінде кеш байланысу
арқылы virtual кілттік сөзімен сипатталған тәсілдер
шақырылады. Ал, Смолток тілінде кеш байланысу арқылы
барлық тәсілдер шақырылады. Осылайша, ОБП-ң идеяларын
тиімді пайдалану үшін сол тілде объект, хабарлама, объект
инкапсуляциясы, класс механизмі, мұрагерлік механизмі,
полиморфизм терминдерінде программалау қолдау табу
керек. Егер жеке-жеке әрбір объект үшін интерфейсі, локал
жадысының құрылымы, тәсілдері сипатталатын болса, онда
программа өте үлкен болып кетеді. Сондықтан ОБП-ң
барлық тілдерінде класстар механизмі енгізілген

. не?
Класс дегеніміз
Класс деп бірдей объекттердің, яғни, бірдей
интерфейске, локал жадының құрылымына(ӛрістердің
бірдей жиыны), және мінез-құлыққа (жіберілген
хабарламаларды ӛңдеу үшін бірдей тәсілдер
қолданатын) ие объекттердің жиынын атайды.
Программа жазу кезінде программист алдымен классты
сипаттайды, яғни, ішіне енетін барлық объекттердің
интерфейсін, ішкі құрылымын және тәсілдерін (мінез-
құлқын) сипаттайды. Бұдан соң, нақты объектті
сипаттаған уақытта оның берілген классқа тиістілігін
білдіреді. Және мұндай объектті берілген класстың
экземпляры деп айтады. Әрбір объект қайсыбір
класстың экземпляры болып табылады .
Мұрагерлік механизмі
Кластардың өзін сипаттауды
қысқартып, ыңғайлы ету үшін ОПБ
тілдеріне мұрагерлік механизмі
ендірілген. Егер программада қайсы бір
объекттердің класы сипатталған болса
және оларға ұқсас (яғни, ұқсас, бірақ
кейбір айырмашылығы бар, сипатталған
класстың басқа жаңа түрі болып
табылатын) объекттердің классын
сипаттау қажет болса, сипатталып
қойылған класстың қасиеттерін жаңа
класс мұраға алатындығын, бұдан соң
жаңа класста қандай айырмашылық бар
екендігін ОБП тілінің құралдарымен
көрсету керек
Қасиеттерді мұраға алған
классты ұрпақ-класс не ішкі
класс деп атайды. Өз кезегінде
ішкіклассты тудырған классты
Мұрагерлік – бұл бар
аталық-класс не суперкласс класстардың
деп атайды. Біреулік қасиеттерін жаңа
мұрагерлікте ұрпақ-класс тек класстарды
сипаттағанда
бір аталық класстың пайдалануға және
қасиеттерін мұраға алады. жаңа классты түгел
Мұрагерліктің бұл түрі ОБП-ң емес, тек бастапқы
класстан
барлық тілдерінде жүзеге айырмашылығын ғана
асқан. Ал, кейбір тілдерде сипаттауға мүмкіндік
мысалы С++, көп мұрагерлік беретін ОБП тілінің
механизмі
яғни, ұрпақкласста бірнеше
аталық класстардың қасиетері
бірігу механизмі де жүзеге
асқан
Бұл айырмашылықтар мыналар болуы мүмкін:

1. Интерфейстің өзгеруі (әдетте, бұл жаңа
хабарламалар енгізу)

2. Локал жадының құрылымы өзгеруі (әдетте, жаңа
өрістерді қосу)

3. Аталық класс құрамындағы тәсілдің хабарламаға
жауап қатуындағы өзгеріс.

Мұрагерлік механизмі жаңа
программалардың құрылуын
тездетеді және объектіге бағытталған
програмаларды оңай бейімделгіш
етеді. Программада сипатталған
класстардың бірде-бір экземпляры
болмауы мүмкін. Мұндай класстарды
абстрактілі деп атайды. Әдетте
мұндай класстар үлгі (шаблон)
болып табылады (ең алдымен –
интерфейс шаблоны). Осы үлгілер
арқылы пограммадағы реал
объекттердің классы
құрылады(мұрагерлік арқылы).
Пайдаланылған әдебиеттер.

1. Голуб А.И. Правила программирование на С и С++. М Бином,
1996

2. Гослинг А., Арнольд К. Язык программирование Java. – Спб:
Питер, 1997.

3. Дейтел Х.М., Дейтел П.Дж. Как программировать на С++. М.:
Бином, 1998.
Назарларыңызға рахмет!


Ұқсас жұмыстар
Виртуалды əлемді ұсыну жəне анимация
РЕКРЕАЦИЯЛЫҚ ТУРИЗМ ТҮРІ
Генетикалық полиморфизмнің нуклеотид бірізділігінің полиморфизмі
ДНҚ-ның реттік құрылымдары және полиморфизмі
Гендердің тандемды кластері
HLA комплексінің құрылысы
Математикалық модельдеу
Corel Draw
Power Point-та презентация жасау
Геодезия GPS технологиясын пайдалану
Пәндер