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
   78   79   80   81   82   83   84   85   86   87   88