Успадкування та поліморфізм

Наступна програма також матиме геометричний зміст. У ній оголошені два класи: клас опуклих чотирикутників (TFourAngl) і клас квадратів (TKvadrat). Чотирикутник – більш загальне поняття, ніж квадрат. Квадрат є окремим випадком чотирикутника. Загальна властивість, характерна для будь-яких чотирикутників, – наявність чотирьох вершин. Тому полями класу TFourAngl будуть координати чотирьох вершин. Крім того, в число полів класу чотирикутників включимо довжини чотирьох сторін і двох діагоналей чотирикутника. Серед методів класу TFourAngl оголосимо введення координат вершин, обчислення довжин відрізків (сторін і діагоналей) і обчислення площі довільного опуклого чотирикутника.

Клас TKvadrat буде оголошений як нащадок класу TFourAngl. Ім’я батьківського класу вказується в оголошенні класу-нащадка в круглих дужках після слова class. Клас-нащадок успадковує у класу-батька всі його елементи, т. Е. Поля і методи, тому в оголошенні класу-нащадка їх повторювати не слід. Хоча в класі TFourAngl існує метод обчислення площі довільного опуклого чотирикутника – функція Square, проте в класі TKvadrat оголошена функція з тим же ім’ям Square з тією метою, щоб для квадрата можна було застосовувати більш простий спосіб обчислення площі (як квадрат довжини сторони), що підвищить точність обчислень і скоротить машинний час.

Посилання на основну публікацію