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

Дәріс. ОБП: мұрагерлік, визуалды функциялар және полиморфизм

Читайте также:
  1. Aуіпсіздік және еңбекті қорғaу бөлімі
  2. XIV-XVII ғасырлардағы Қазақстанның мәдениеті және әлеуметтік-экономикалық жағдайы
  3. А)Өндіріс алаңы және оның тегістеу жұмыстары
  4. Абынудың жасушалық және гуморалдық медиаторларының пайда болу және әсер ету жолдары
  5. Азаматгық қоғам және құқықтық мемлекет
  6. Антидиуреттік гормон, альдостерон және ренин-ангиотензиндік жүйенің, натрий-уретикалық фактордың қызметі.
  7. аржы, ақша айналымы және несие » пәнінен емтихан сұрақтары

Мұрагерлік

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

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

Мұрагерлік программалық қамтаманықайталанып қолдану механизмін білдіреді, оған сәйкес жаңа кластар бар болған кластардың негізінде құрылады. Осы кластар базалық кластардың қасиеттеріне ие болады және жаңа кластарға қажетті қосымша жаңа сапаларға ие болады. Жаңа кластарды құрғанда мәліметтердің жаңа элементтерін және функция-элементтерін жазу орнына бұрын анықталған базалық кластың элементтеріне ие болатын жаңа класты программист көрсете алады. Бұл жаңа класс туындалған класс деп аталады. Әрбір туындалған класс өз кезегінде қайсібір туындалатын кластарға базалық класс болуы мүмкін. Қарапайым мұралануда туындалған класс тек бір базалық класс негізінде пайда болады. Күрделі мұралануда туындалған класс көптеген (мүмкін логикалық байланыспаған) кластардың қасиеттеріне ие болады.

Полиморфизм және виртуалды әдістер

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

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

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

CAirVehicle жаңа классты қарастырайық. Егер CAirVehicle класстың әдісі Draw() болса, онда ол тек қана тікбұрышты бейнелейді (CairVehicle өте абстракты класс). Cjet және Chelicopter класстар CairVehicle класстың туынды болып саналады, олар Draw() әдістің қасиеттерің мұра етеді де және тікбұрышты қалай салуды біледі. Екі туынды класстар аталық класс ретінде тек қана абстракты болған кейін, олар Draw() әдісті қайта іске қосалады (өзгертеді), сонымен қатар әр қайсы ерекше, тікбұрыштан басқа маңызды нәрсе бейнелейді (мысалы реактивті самолет немесе вертолет). Полиморфизм әрекеттері келесі тізбектіліктен тұрады:

- бір виртуалды әдіс арқылы базалық классты құру;

- базалық классқа байланысты туынды жаңа классты (немесе бірнеше класстарды) құру;

- виртуалды әдісті классқа (немесе базалық классқа) қайта іске қосу;

- әр түынды класстағы виртуалды әдістің (немесе әдістердің) шақыру кезінде жауаптарында реакцияларды ажырату.

Сонымен, аталық класс мұрагерлеріне өзінің барлық мәліметтерің және әдістерің игеруге тапсырады. Егер аталық класстан туындаған класстар, базалық класста виртуалды болып баяндаған болса, онда олар кез келген әдісті өзгерте алады. Мысалы, полиморфизм логикалық байланысқан объектілерге Draw() хабарламаға әртүрлі жауап беруге мүмкіншілік береді.

Негізгі әдебиет: 1 [151-156], 2[551-628]

Бақылау сұрақтар:

1. Мұрагерлік деген не?

2. Инкапсуляция деген не?

3. Полиморфизм деген не?

4. Полиморфизмнің тізбектілігі қалай орындалады?

5. Полиморфизм деген терминің анықтамасын түсіндірініз.

 


Дата добавления: 2015-07-08; просмотров: 816 | Нарушение авторских прав


Читайте в этой же книге: Дәріс. Циклдар - басқару операторлар | Дәріс. Массивтер. Бірөлшемді және екіөлшемді массивтерді өңдеуге арналған программаларды құру | Көрсеткішті сипаттау | Дәріс. Массивтер және көрсеткіштер | Ші дәріс. Символдық жолдар және қолданылатын функциялар | Жолдарға қолданылатын операциялардың функциялары | Дәріс. Құрылымдар және мәліметтердің басқа формалары. | Дәріс. Файлдық енгізу-шығару. | Параметр Режим | Ерекше жағдайдың өңдеуішті анықтау |
<== предыдущая страница | следующая страница ==>
Ерекше жағдайлар және класстар| Зертханалық сабақтардың жоспары

mybiblioteka.su - 2015-2024 год. (0.007 сек.)