ООП, об’єкти, класи. Спадкування і інтерфейси

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

В об’єктно-орієнтованій парадигмі розробки існують три основних інструменти, якими користуються розробники для написання гарного коду:

  • Інкапсуляція.
  • Спадкування.
  • Поліморфізм.
  • Спадкування.

Спадкування

Це процес створення нового класу на основі вже існуючого. Об’єктно-орієнтований підхід насамперед застосовується для того, щоб описати поняття і явища реального світу мовою програмування. Тому, щоб зрозуміти ООП, необхідно навчитися описувати завдання, що стоїть перед програмістом, мовою класів і об’єктів.

Для того, щоб зрозуміти суть процесу спадкування, можна навести приклад з життя. Існує абстрактне поняття «людина». У кожної людини є загальні характеристики, якими його можна описати. Це зріст, вага, колір волосся, тембр голосу, і так далі. Іванов Іван, учень 1 класу «А» — це конкретний представник поняття «людина», тобто, висловлюючись мовою об’єктно-орієнтованого підходу, поняття Іванов Іван — спадкоємець поняття людина. Або, приміром, сусідський кіт Барсик — спадкоємець поняття «кіт». Можна скласти більш складне спадкування: поняття Барсик успадковується від поняття мейн-кун, яке в свою чергу успадковується від поняття «кіт».