Page 87 - 4836
P. 87

Введіть слово для перекладу (ext - вихід): ext
                                    - >>ПЕРЕКЛАД НЕ ЗНАЙДЕНО!!!<<
                                   Остаточну  структуру  класів  та  їхню  взаємодію
                            зображено на UML діаграмі.
                                   Як видно з діаграми, класи WordTranslator та Dictionary
                            між  собою  не  пов’язані  напряму,  а  отримують  зв’язок  через
                            інтерфейс  Dict.  Можна  скільки  завгодно  реалізувати  версій
                            класів  на  основі  Dict.  При  цьому  клас  WordTranslator  це  не
                            зачепить. Все це можна було б реалізувати через абстрактний
                            клас,  проте  при  використанні  інтерфейсів  клас  Dictionary
                            може запросто бути включеним в певну ієрархію класів, тобто
                            розширювати (extends) інший клас і одночасно реалізовувати
                            наш інтерфейс.

                                   Інтерфейс Comparable
                                   Насправді,  в  java  набагато  частіше  доводиться
                            використовувати вже наявні в ній інтерфейси ніж створювати
                            власні. Розглянемо приклад із застосуванням java інтерфейсу
                            Comparable. Даний інтерфейс дозволяє порівняти два об’єкта і
                            передбачає  реалізацію  методу  compareTo.  Даний  метод
                            необхідно  реалізувати  в  об'єктах,  які  повинні  між  собою
                            порівнюватись.
                                   Інтерфейс  Comparable  в  пакеті  java.lang  визначений
                            таким чином:
                                   package yroku_java_2014;
                                   import java.util.*;
                                    public interface Comparable <T>{
                                       public int compareTo(To);
                                   }
                                   Порівняти  чисельні  змінні  взагалі  немає  проблем.  То
                            що  ж  такого  в  цьому  інтерфейсі?  Суть  у  тому,  що  інколи
                            об’єкти  необхідно  порівняти  за  певними  полям.  Наприклад,
                            відсортувати  об’єкт  Person  чи  Manager  за  іменем  або  ж  за
                            прізвищем особи/менеджера,  або  ж  за  зарплатою  і  т.п.  Тож,




                                                           85
   82   83   84   85   86   87   88   89   90   91   92