[ gilespy @ 05.12.2005. 10:38 ] @
Moze li mi neko objasniti cemu sluze interfejsi?


U knjizi pise da se uz pomoc njih moze apstrahovati pristupanje klasama,

ali mi to nesto bas i ne znaci.


Hvala

Gile
[ Ivand @ 05.12.2005. 12:35 ] @
Interfejsi su vrsta apstraktnih klasa , stim sto mogu imati i argumetne sto apstraktne klase u javi nemogu i jos par sitnih razlika.

koriste se
Code:

public interface MojInterfejs{
...
}

public class MojaKlasaKojaNasledjujeInterfejs implements MojInterfejs{
...
}
[ tiranin @ 05.12.2005. 15:32 ] @
Citat:
Ivand: Interfejsi su vrsta apstraktnih klasa , stim sto mogu imati i argumetne sto apstraktne klase u javi nemogu i jos par sitnih razlika.

Ne bih se složio. Pokušaću da objasnim ukratko, a da bude jasno, nadam se da ću uspeti.
Interfejsi služe da se specificira ponašanje objekata neke klase. Znači, navode se metode koje će objekti da imaju.
U poređenju sa apstraktnim klasama, apstraktne klase mogu da implementiraju neke metode, a neke ne, pa onda klase koje ih nasleđuju moraju same da implementiraju "neimplementirane" metode. Klase koje implementiraju neki interfejs moraju da implementiraju SVE metode iz interfejsa, ako to ne urade onda moraju biti apstraktne.
Sve je tesno u vezi sa nasleđivanjem, a posebno je važno i zbog toga što Java ne podržava višestruko nasleđivanje.
Ako razumeš čemu služe apstraktne klase, onda je nabolje da interfejs shvatiš kao apstraktnu klasu kod koje su SVE metode apstraktne.

Ovde sam pričao samo o metodama, jer je to po mom mišljenju važnije za tvoju nedoumicu. O poljima drugi put, ako te baš zanima.
[ Branko Santo @ 06.12.2005. 07:56 ] @
Bitnja cinjenica je to sto klasa moze da implementira nekoliko interfejsa a da nasledi samo jednu klasu. To je osnov zasto postoje interfejsii, a i u interfejsima su prazni metodi koji se ispunjavaju u klasi koja ih implementira. U abstract klasi postoji i telo metoda.

Uh valjda sam dobro rekao :)