You are on page 1of 1

-rekli smo da se nasledjivanjem postize tj super klasom se definisu zajednicka

svojstva hijararjhijskih klasa, sa interfejsima se isto to postize ali i zajednicka


svojstva nepovezanih klasa.

-apstrakltna klasa ako ima metod koji nije definisan npr za geometricObject
povrsina(); mora se dodat
prefiks abstract ispred metode i automatski ispred klase abstract, nemoze se
kreirat objekat li moze
imati svoje konstruktore i dobro je da su protected da ih mogu pozivat samo
nasledjene klase koje pregaze
apstract metode.

-u nasledjene klase krug i kocka reference cuvas u abstraktnom tipu geometricObject


i definiso je par
metoda koje uporedjuju dali su iste povrsine i ispisuje objekte a kao parametar
prima geometricobj sto
znaci da radi i za krug i za kocku i za neku buducu klasu koja je nasledjena jer ce
morat pregayit te metode.

-nasledjena klasa takodje moze da bude abstraktna klasa ako ne pregazi ili doda
novu apstraktnu metodu,
takodje konkretnu klasu moze da nasledi apstraktna klasa (object je konkretna a
geometric object abstract),
takodje metode realne klase super klase u nasledjenoj mogu biti overridane i
pretvorene u abstractne to se
rijetko radi ali ponekad ako metoda super klase neradi ispravno u izvedenim zato se
to radi.

-interfejs gdje su sve metode abstraktne po difoltu su public abstract pa se nemora


navodit, polja su
public static fina. klase se extend a interface implement. moze 1 klasu extend a
mnogo interfejsa implementirat

-intrefejs definise skup operacija za razlicite klase, na taj nacin odvaja


korisnike od klasa, npr da
bi uporedjivo objkete moras ih uporejivat preko nekih zajednickih svojstava,
Arrazs.sort kao argument
prima comparable interfejs i metodu compareTo. mozes definisat ovu metodu ali kao
nisi nasledio interface nemozes prosledit kao argument. apstarktne klase koristis
kada postoji jaka veza roditelj-djete dok inetrfejs kad je ta veza slabija tj kad
samo definise nesto zajednicko za nesrodne klase i dosat je fleksibilniji od
abstraktnih klasa. npr u primjeru abstraktneih klasa how to eat jvm dinamicki
odlucuje koju ce metodu pozvat na osnovu konkretnog objekta dok interfejsi nemaju
takve restrikcije.
abstraktna nemoze kreirat objekt ali konstruktor poziva nasledjena klasa. moguce je
definisat abstraktnu klasu iako ne sadrzi nijedan abstraktni metod.

You might also like