Page 83 - 6253
P. 83
// тіло класу
}
На класи визначені як абстракті накладають певні обмеження: 1) не можливо
створити об'єкт абстрактного класу; 2) не можна оголошувати абстрактними
конструктори і статичні методи класу.
Якщо підклас абстрактного базового класу не реалізує всіх абстрактних
методів базового класу, то його також необхідно оголосити як абстрактний. В
абстрактних класах поряд з абстрактними методами можуть існувати звичайні,
повністю реалізовані методи.
Абстрактні класи використовують для реалізації динамічного поліморфізму,
шляхом створення посилань у вигляді змінних абстрактного класу. Ці посилання
пізніше використовують для прив’язки до об’єктів підкласів. Нижче наведено
приклад програми, в якій реалізовано абстрактний клас.
// Використання абстрактних методів і класів
abstract class Figure {
double dim;
Figure(double a) {
dim = a;
}
// Оголошення абстрактного методу
abstract double area();
}
class Rectangle extends Figure {
double b;
Rectangle(double a, double b) {
super(a);
this.b = b;
}
82