Читайте также:
|
|
Мета роботи: отримання практичних навичок програмування задач з використанням абстрактних класів.
Завдання: Складіть ієрархію класів.
Суперкласом є клас – будова (building). Очевидно, кожна будова має адресу (addr), займану площу (area), власника (owner), вартість (price). Однак цих даних недостатньо для того, щоб, наприклад, купити будову, відремонтувати її або виконати інші подібні дії, пов’язані з реальним об’єктом. Тому має сенс уважати будову абстрактним класом.
Підкласом будови може бути житловий будинок (house). Якщо в даному класі з’являться змінні, що встановлюють кількість поверхів (floor), квартир усього(apart) і що перебувають в експлуатації (occup), а також кількість мешканців (lodger), то вже можна говорити про створення об’єктів такого класу.
Підкласом будови також може бути спортивне спорудження (sport). Будь-яке спортивне спорудження можна охарактеризувати видами спорту (types) і кількістю місць для глядачів (seat). У такому вигляді підклас «спортивна споруда» також буде абстрактним.
Підкласом «спортивної споруди» може стати реальний діючий стадіон, якщо додати назву спортивної споруди, назву спортивного заходу, кількість проданих квітків.
Рекомендації до виконання:
Часто в основі різних ієрархій класів лежать абстрактні класи, для яких не створюють об’єктів, але використання яких, безумовно, корисно. В них містять загальні змінні й методи. На користь створення абстрактних класів говорять, принаймні, два міркування: підкласи стануть простіше, суперклас об’єднає інші класи в ієрархію, що завжди корисно для розуміння і подальшого розвитку складних систем.
Вигляд екрана працюючого додатку може бути такий:
Контрольні запитання і завдання:
1. У чому полягає суть спадкування?
2. Якими засобами можна управляти доступом до членів класу при спадкуванні?
3. Поясніть призначення ключового слова super.
4. Які класи називають абстрактними? В чому користь їх створення?
5. Які методи називаються абстрактними? Чому неможна створити об’єкт абстрактного класа?
6. Як оголосити абстрактний клас, абстрактний метод?
7. Поясніть текст програми.
Дата добавления: 2015-09-11; просмотров: 82 | Поможем написать вашу работу | Нарушение авторских прав |