Page 84 - 4836
P. 84
Scanner in = new Scanner(System.in);
String word;
do {
System.out.print("Введіть слово для перекладу
(ext - вихід): ");
word = in.next();
System.out.println("- "+dict.findTranslation(word));
}
while (!word.equalsIgnoreCase("ext"));
}
public String getTranslation(String word) {
return null;
}
}
Як бачимо, клас доволі простий, через конструктор
отримується посилання на об’єкт, клас якого реалізовує
інтерфейс Dict. Для збереження даного посилання
використовується інтерфейсна змінна типу Dict. Після чого
запускається цикл опитування користувача через текстову
консоль. Користувач вводить слово, об’єкт класу
WordTranslator викликає відповідний метод нашого словника
для пошуку слова. Якщо б нам не була необхідна певна
універсальність, то ми могли б це записати такими
інструкціями:
String word=”do”;
Dict dict=new Dictionary();
dict.findTranslation(word);
В ідеалі, може існувати кілька об’єктів класу
Dictionary, які міститимуть словники із різних мов. Або ж
навіть може існувати кілька реалізацій інтерфейсу Dict з
різними назвами, які по-різному реалізовуватимуть алгоритми
роботи із словами. Тому наш клас WordTranslator повинен
володіти певною універсальністю. Крім того, згадаймо, що
програміст, що реалізовує даний клас нічого не знає про те, як
82