Успадкування
Присвоювання об’єктів
Приховування даних в об’єктах
Інкапсуляція
Перевизначення методів
Підсумок
Питання по темі
Успадкування
Припустимо, що перед нами поставили таке завдання: доповнити частину об’єктів типу TStudent полем даних Bal дійсного типу. В цьому полі будемо записувати середню оцінку студента згідно з результатами останньої сесії. Таку оцінку мають тідьки студенти, які провчилися в навчальному закладі не менше семестра, вона відсутня у студентів, які щойно були зараховані.
Назвемо новий тип TStudent1. Звичайно, ми могли б визначити його, просто продублювавши відповідний опис типу TStudent і додавши нове поле даних. Вийшло б щось таке:
TStudent1=OBJECT
Name:String[30];
Date:String[10];
Rate:Real;
Bal:Real;
END;
Однак можна вчинити значно грамотніше і відповідніше до принципів об’єктного програмування. Новий тип успадкує дані і методи від типу TStudent, а нове поле даних ми довизначимо.
TStudent1=OBJECT(TStudent)
Bal:Real;
END;
Тип TStudent називається батьківським (parent), тип TStudent1 – дочірнім (child). Фактично цей процес можна продовжувати як завгодно довго: можемо визначити наступний тип, для якого TStudent1 буде батьківським. Найчастіше побудова об’єктно-орієнтованих прикладних програм полягає в побудові такої ієрархії об’єктів.
Всі типи, які успадковують тип TStudent, називаються його дочірніми типами, але TStudent1 є безпосереднім дочірнім типом від TStudent, а TStudent є безпосереднім породжуючим типом для TStudent1.