Klasa abstrakcyjna a interfejs

Odpowiedz Nowy wątek
2010-10-04 15:52
triku
0

Jaka jest zastadnicza różnica pomiedzy tymi terminami ?

W klasie abstrakcyjnej można implementować metody które nie sa poparte "abstract". Tyle wiem. Ktoś mógłby rozwinąć ten temat ?

Pozostało 580 znaków

2010-10-04 15:59
1

Najważniejsza różnica w Javie pomiędzy interfejsem a nieinterfejsem jest taka, że dana klasa może dziedziczyć tylko po jednej klasie bazowej, ale może implementować wiele interfejsów.


"Programs must be written for people to read, and only incidentally for machines to execute." - Abelson & Sussman, SICP, preface to the first edition
"Ci, co najbardziej pragną planować życie społeczne, gdyby im na to pozwolić, staliby się w najwyższym stopniu niebezpieczni i nietolerancyjni wobec planów życiowych innych ludzi. Często, tchnącego dobrocią i oddanego jakiejś sprawie idealistę, dzieli od fanatyka tylko mały krok."
Demokracja jest fajna, dopóki wygrywa twoja ulubiona partia.

Pozostało 580 znaków

2010-10-04 16:20
triku
0

Tak, to wiedziałem. Coś jeszcze ?

Pozostało 580 znaków

2010-10-04 18:02
1

Oprócz tego to interfejs nie różni się jakoś znacznie od klasy poza szeregiem ograniczeń:


"Programs must be written for people to read, and only incidentally for machines to execute." - Abelson & Sussman, SICP, preface to the first edition
"Ci, co najbardziej pragną planować życie społeczne, gdyby im na to pozwolić, staliby się w najwyższym stopniu niebezpieczni i nietolerancyjni wobec planów życiowych innych ludzi. Często, tchnącego dobrocią i oddanego jakiejś sprawie idealistę, dzieli od fanatyka tylko mały krok."
Demokracja jest fajna, dopóki wygrywa twoja ulubiona partia.

Pozostało 580 znaków

2010-10-13 06:53
1

Interfejs gwarantuje, że klasy implementujące go posiadają metody wymienione w tym interfejsie, ale nic poza tym. Klasa może implementować dowolną ilość interfejsów.
Klasa abstrakcyjna gwarantuje, że klasy ją rozszerzające dziedziczą właściwości po niej, oraz implementują metody abstrakcyjne. Klasa może rozszerzać tylko jedną inną klasę (nieważne czy abstrakcyjną)

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

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