O Interfejsach

0

Jestem poczatkujacym programista java. Za cel postawilem sobie stworzenie pewego programiku.
Chcialem, zeby wszystko bylo w nim jak nalezy. A czytam ciagle o tym jak bardzo przydatne sa interfejsy, ale jakos tego nie widze.
Wszedzie widze przyklad Interefejsu Person, ktore potem implementuja klasy typu Worker, Administrator, Client itp.

Tylko jaka korzysc mi daje stworzenie takiego interfejsu poza tym, ze potem przy rozbudowie aplikacji nigdy "nie zapomne" jakie metode powinny miec klasy implementujce Person? Nie jest to czasem dodatkowa robota (pisanie interfejsu)?

0

Nie bo to pozwala na polimorfię, czyli np. taki przypadek:

void wyplac_pensje(IPerson p) {
  p.addMoney(2000);
}

Bez polimorfii tego się nie da zrobić.

1
  1. Klasy Abstrakcyjne (napisane uniwersalnie, więc nie ma znaczenia że w C++ a nie Javie)
  2. Chodzi o to żebyś mógł łato "podmieniać implementację". Co to znaczy? Jeśli w kodzie używasz na przykład jakiejś listy, to mozesz albo zdeklarować że jest to ArrayList i w całym kodzie tak pisać, albo napisać że jest to List i tylko przy tworzeniu obiektu podać konkretną implementację. Jaka jest różnica? Taka ze jak nagle postanowisz że LinkedList jest jednak lepsza to w przypadku 1 będziesz musiał ręcznie to wszystko zmieniać, a w przypadku 2 zmienisz tylko jedną linijkę.
0

Okej
Rozumiem znacznie wiecej. Ale to wychodzi na to, ze przy malych aplikacjach nie musi wcale byc koniecznoscia pisanie interfejsow, dobrze rozumiem?

1 użytkowników online, w tym zalogowanych: 0, gości: 1