Wpis z mikrobloga

@63274682374:

Map to interfejs. Interfejs to konstrukcja, która zawiera opisuje jakie na przykład metody powinna zawierać implementacja interfejsu. Tj. Map zawiera informację, że implementacje Map powinny zawierać metodę keySet. Ale interfejs nie posiada informacji co ma robić ta metoda.

Dopiero klasa implementująca interfejs Map zawiera kod, który ma zostać wykonany, gdy metoda keySet zostanie uruchomiona na instancji klasy.

Dzięki interfejsom wiele klas może mieć takie same metody, co jest przydatne. Wtedy
@tomaszs:
Ale zdajesz sobie sprawę, że takie podejście jest raczej spotykane u początkujących programistów?

Doświadczeni programiści raczej nie piszą kodu:

HashMap s = new HashMap();

a bardziej

Map s = new HashMap<>();

i dalej, ucząc się przykładowo JCF, kluczem jest poznanie interfejsów. Przykładowo Map.keySet() zwraca zbiór kluczy... i każda implementacja tego interfejsu robi to samo - zwraca zbiór klucz. Zatem jeśli chcesz nauczyć kogoś, że keySet() zwraca zbiór kluczy to chyba