Interfejsy definiują umowę między klasami wdrażającymi interfejsy a ich klientami. Są używane jako mechanizm abstrakcyjny, dzięki czemu klienci mogą manipulować „rzeczami o danym zachowaniu”.
Tak więc ogólna odpowiedź na pytanie „powinienem utworzyć i używać tego interfejsu?” to: Tak, jeśli możesz powiązać (pojedynczą) koncepcję istotną semantycznie dla twoich klientów.
Na przykład Porównywalny jest dobrym interfejsem, ponieważ wyjaśnia, że rzeczy można porównywać dzięki jednej z ich metod, a jako klient interesuję się porównywalnymi obiektami (np. W celu ich sortowania). Przeciwnie , CoolStuff nie jest dobrym interfejsem, jeśli przyznasz, że fajne obiekty nie mają określonego zachowania (w rzeczywistości możesz sobie wyobrazić oprogramowanie, w którym radzenie sobie z fajnymi obiektami ma sens, ponieważ mają one wspólne zachowanie, takie jak beCool metoda).
W twoim szczególnym przypadku uważam, że twój interfejs jest bezużyteczny. Kto go użyje, jak i kiedy? Nie można utworzyć interfejsu dla każdej z wartości zmiennych. Więc zadaj sobie pytanie, jaka jest istotna i interesująca właściwość twoich metod.
Jeśli chcesz mieć do czynienia z obiektami, których wszystkie zmienne wartości są dostępne za pomocą kilku metod, spójrz na pojęcie bean Java i sposób, w jaki możesz zmusić swoje klasy do przyjęcia ich konwencji.