Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
4444УМК17.11.05каз_Delphi.doc
Скачиваний:
4
Добавлен:
01.07.2025
Размер:
1.42 Mб
Скачать

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

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

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

Ойдан құрастырылған CAirVehicle класын қарастырайық. CAirVehicle класының жай ғана тік төртбұрыш сызатын (CAirVehicle классы абстрактілі болғандықтан) Draw() әдісі болсын деп жориық. Екі CJet және CHelicopter класстары CAirVehicle класының туындысы болып табылады, яғни олар одан Draw() әдісін мұрагерленіп тік төртбұрышты сыза алады. Екі туынды класс өзінің алғы ата-класына қарағанда аса абстрактілі болмағандықтан, олар Draw() әдісін жүктеп (өзгертіп), әрқайсысы өз бетінше тік төртбұрыштан басқа мағыналы сурет (мысалы реактивті ұшақ немесе тікұшақ) салуы мүмкін.

Полиморфизмнің тізбегі келесі жолмен жүзеге асырылады:

  1. Бір ғана (кем дегенде) виртуалды әдісі бар өзіндік классты құру.

  2. Өзіндік класстан туындалатын жаңа классты (немесе класстарды) құру.

  3. Виртуалды әдісті (немесе өзіндік класстың әдісін) жүктеу.

  4. Әрбір туынды класстағы виртуалды әдісті (немесе әдістерді) шақырудағы жауап қайтару реакцияларының айырмашылығы.

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

Беттері көрсетілген негізгі әдебиет

1. [С.23-25]

2. [С.237-250]

3. [С.85-96].

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

  1. Объектілі-бағытталған бағдарламалаудың процедуралық бағдарламалаудан ерекшелігі неде?

  2. Объект дегеніміз не?

  3. Әдіс дегеніміз не?

  4. Хабар дегеніміз не?

  5. Класс дегеніміз не?

  6. Класс пен объекттің ерекшелігі қандай?

  7. Инкапсуляция дегеніміз не?

  8. Мұрагерлену дегеніміз не?

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

  10. Полиморфизмнің тізбегі қалайша жүзеге асырылады?

2 Дәріс. Объектілі бағдарланған визуальді программалаудың принциптері

Delphi-дің қосымшалары немесе қолданбалы бағдарламалары IDE (Integrated Development Environment) интегрирациялық өңдеу ортасында орындалады. IDE бағдарламалаушылармен өзара қарым қатынасты ұйымдастыру және әртүрлі басқару элементтері бар терезелер үшін қызмет етеді. Интеграциялық орта құралдарының көмегімен өңдеуші қосымшаның интерфейстік бөлімін жобалай алады және де оған бағдарламалық код жазып оны басқару элементтерімен байланыстыра алады. Сонымен қатар өңдеушілерді қоса қосымшаларды құру бойынша барлық жұмыстар IDE-де орындалады.

Delphi-дің интеграциялық өңдеу ортасының өзіндік көп терезелі жүйесі бар. Интеграциялық өңдеу ортасының (интерфейсі) түрі оны құруына байланысты ерекшеленеді. Delphi-ді жүктеуден кейінгі интерфейсі төменде 2.1.суретте көрсетілген және оның 4 терезесі бар:

  • Негізгі терезе (Delphi – Project1)

  • Обьектілер инспекторы терезесі (Object Inspector)

  • Форма құрастырушысы терезесі (Form1)

  • Код редакторы терезесі (Unit1.pas)

Экранда Image Editor-ға сәйкес құралдарды шақыру кезінде басқа да терезелер болуы мүмкін.

Delphi көп терезелі болуына қарамастан бірқұжатты орта болып табылады, яғни тек бір ғана қосымшамен (қосымша жобасымен) бір уақытта жұмыс істеуге болады. Қосымша жобасының аты негізгі терезенің тақырып қатарында, экранның жоғарғы бөлімінде енгізіледі.

Егер негізгі терезені түсіріп қойсақ, онда Delphi-дің барлық интерфейсі кішірейеді. Ал негізгі терезені жапқан кезде Delphi-мен жұмыс тоқтатылады.

Delphi-дің негізгі терезесінің көріністері:

  • Негізгі меню (мәзір)

  • Аспаптар панелі

  • Компоненттер тақтасы

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]