|
||||||||||||||||||||||||||||||||||||||||||||||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
УСПАДКОВУВАННЯ І ПЕРЕВИЗНАЧЕННЯ МЕТОДІВ. ПРИНЦИП КОНСТРУЮВАННЯ ПРОГРАМ
ООП дозволяє визначити новий об'єкт як нащадок (спадкоємець) іншого, раніше певного типу. Це означає, що новий тип автоматично отримує всі поля і методи раніше певного типу, який в цьому випадку називається предком або нащадком. У оголошенні типу-нащадка (спадкоємця) повинно бути вказано в круглих дужках після службового слова object ім'я батьківського типу. Поля і методи предка можуть з'являтися в тілах методів спадкоємців так, як якби вони були явно оголошені в об'єктах-спадкоємцях.
Форма оголошення об'єкту-нащадка (спадкоємця):
Процес спадкоємства є транзитивним: якщо тип об'єкту ТуреВ - спадкоємець типу ТуреА, а тип ТуреС - спадкоємець типу ТуреВ, то тип об'єкту ТуреС також є спадкоємцем ТуреА: Туре А → Туре В → Туре С У нащадках (похідних, дочірніх) не можна оголошувати ідентифікатори полів, визначені в одному з типів предка. На методи це обмеження не розповсюджується. Об'єкт-нащадок може перевизначити будь-який з методів, успадкований від предків. Метод, перевизначений в типі-нащадку, має те ж ім'я і може мати інші параметри. Перевизначений метод переходить до всіх подальшим нащадкам ієрархії. Для кожного нащадка діє метод, визначений в нім самому або в найближчому об'єкті-предку, якщо в даному об'єкті цей метод не перевизначений.
Приклад простої ієрархічної структури Спадкоємство має певні правила сумісності типів об'єктів. При цьому похідний тип (тип-нащадок) сумісний за типом зі своїм предком: 1) між екземплярами об'єкту; 2) між покажчиками на екземпляри об'єктів; 3) між формальними і фактичними параметрами.
Приклад: оголошення типу нащадка. Type Ring = object (Dot) Rad: integer; end;
Type Ring = object (Dot) Rad: integer; procedure Init (x, y, r: integer); procedure Show; procedure Hide; end; {--------------------------------------------------------------------------} procedure Ring. Init; Begin a:=x; b:=y; Rad:=r; end; {--------------------------------------------------------------------------} procedure Ring. Show; Begin Setcolor (white); Circle (a, b, Rad); end; {--------------------------------------------------------------------------} procedure Ring. Hide; Begin Setcolor (Black); Circle (a, b, Rad); end; Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.005 сек.) |