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