Зв’язки між класами та об’єктами: успадкування класів

У об’єктно-орієнтованому програмуванні існує дві ієрархії: класів та об’єктів.

За допомогою об’єктно-орієнтованого програмування є можливість описати різні об’єкти, їх характеристики та властивості. Об’єкти описуються за допомогою класів. Об’єкт це сутність зі своїми властивостями та характеристиками, яка може реагувати на повідомлення за допомогою своїх існуючих даних та зявляється при створення екземпляра класу або прототипу. Клас – це список характеристик та можливостей об’єкта. Наприклад, людина – це клас: у неї одна голова, дві руки, дві ноги, вона вміє ходити, розмовляти, бігати. А дівчина Олена це об’єкт класу людина, вона та інші люди схожі один до одного тільки тому що їх описує один загальний клас – людина. Але при цьому об’єкти відрізняються один від одного, тому що з впливом часу вони приймають унікальні риси. Класи та об’єкти це зовсім різні поняття, але дуже тісно зв’язані між собою. Припустимо, нам в програмі необхідно працювати з країнами. Країна – це абстрактне поняття. У неї є такі характеристики, як назва, населення, площа, прапор та інше. Для опису такої країни буде використовуватися клас з відповідними полями даних. Такі країни, як Росія і Україна будуть вже об’єктами (конкретними представниками типу країна).

У об’єктно-орієнтованому програмуванні існують таки зв’язки (відношення) між класами та об’єктами:

· асоціація;

· успадкування;

· агрегація;

· використання;

· інстанціювання;

· метаклас.

Успадкування класів – це дуже потужна можливість, яка дозволяє створювати похідні класи. Один клас може успадковувати властивості та характеристики іншого класу. При цьому клас який успадковує ці властивості називається дочірнім (похідним), а клас, який саме містить ці властивості – батьківським (базовим). Таким чином буде зекономлено маса часу на написання та налагодження коду нової програми. Об’єкти похідного класу вільно можуть використовувати все, що створено і налагоджено в базовому класі. При цьому, є можливість в похідний клас дописати необхідний код для удосконалення програми: додати нові елементи, методи тощо. Базовий клас залишиться недоторканим. Наприклад, у нас є клас автомобіль, в описанні вказано, що в нього чотири колеса, двигун, гальмо тощо. У нього ж є два дочірніх класи – це легковий автомобіль та вантажівка, вони успадкували базові властивості батьківського класу, але при цьому придбали свої унікальні риси. Також прикладом може буди два незалежних класи роботи та автомобілі, що успадкували свої властивості від класу технологічні пристрої, але кожен з похідних класів буде мати свої особливості. Автомобілі без управління людиною функціонувати не можуть, коли роботам втручання людини в управління не потрібно.
Попередня стаття
Наступна стаття