Page 79 - 4836
P. 79

чекати,  коли  другий  програміст  зробить  необхідний  йому
                            UseableClass.  Вони можуть  узгодити, що  клас  повинен  мати
                            певні методи, описати інтерфейс для даного класу (наприклад,
                            interface  Useable)  і  далі  працювати  кожен  над  своїм  класом
                            паралельно.  Один  пише  клас  UseableClass  реалізовуючи
                            (implements) логіку методів  інтерфейсу Useable. Iнший пише
                            FirstClass  так  нібито  клас  UseableClass  вже  реалізовано.
                            Єдине, що їм потрібне – це узгоджений між ними інтерфейс, і,
                            зокрема,  сигнатура  майбутніх  методів.  Як  і  у  випадку  з
                            абстрактними  класами  в  пригоді  стає  поліморфізм:  змінна
                            інтерфейсного  типу  може  певним  чином  замінити  ще  не
                            реалізований клас.
                                   Звичайно,  що  вищесказане  можна  реалізувати  і  через
                            абстрактний  клас,  проте,  абстрактні  класи  працюють  в
                            ієрархії  і  ми  не  можемо  реалізувати  більше  одного
                            абстрактного  класу  в  своєму  класі.  Інтерфейси  ж  знімають
                            дане обмеження. Можна також створити абстрактні класи, які
                            частково  реалізовуватимуть  певний  інтерфейс.  Також можна
                            створити інтерфейси на основі інших, розширивши останні.
                                   В  Java  існує  ряд  широковживаних  інтерфейсів.  Щоб
                            об’єкти  можна  було  порівняти  між  собою,  необхідно
                            реалізувати інтерфейс Comparable і його метод compareTo().
                            По суті призначенням інтерфейсів є змусити програміста, що
                            розробляє  певний  клас,  реалізувати  методи,  щоб  об’єкт
                            правильно функціонував.
                                   Реалізовуємо електронний словник.

















                                                           77
   74   75   76   77   78   79   80   81   82   83   84