Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Java Interfaces objasnjenje

[es] :: Java :: Java Interfaces objasnjenje

[ Pregleda: 3073 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

darthskywalker
Luka Skajvoker

Član broj: 286923
Poruke: 25
89.146.182.*



+1 Profil

icon Java Interfaces objasnjenje18.01.2012. u 16:21 - pre 148 meseci
Pozdrav,
da li mi neko moze objasniti svrhu interface-a ? Nedavno sam poceo uciti Javi , shvatio sam klase i nasledjivanje klasa ali ne mogu da shvatim interfejse. Vidio sam njihovu definiciju, metodi koji nisu implementirani i staticki atributi pa se ti metodi implementiraju u klasi. Zasto su mi potrebni interfejsi kad ja te metode iz interfejsa ionako mogu implementirati u klasi bili oni u interfejsu deklarisani ili ne? Vjerujem da postoji dobar razlog za to, pa ako mi neko moze objasniti, bio bih zahvalan. Pozdrav :)
 
Odgovor na temu

javash

Član broj: 261937
Poruke: 2
46.7.96.*



Profil

icon Re: Java Interfaces objasnjenje18.01.2012. u 20:37 - pre 148 meseci
Interfejs definise ugovor... ti znas da hoces da radis nad klasama koje implementiraju odredjene osobine ali te ne zanima kako implementiraju niti koja tacno implementacija je u pitanju (mozes da imas vise implementacija)

Npr

Code:


public interface Swimmer {

      public void swim();

}



I sada ti hoces da napravis metod koji zna da radi nesto sa Swimmer instancama.. ali te bas briga ko ih je i kako implementirao.. sve sto ti zelis jeste da imaju swim() metod.

Code:


public void startSwimming(Swimmer sw){ sw.swim(); }




Java is, in many ways, C++––
 
Odgovor na temu

biske86
Ivan Biševac
Zubin Potok

Član broj: 62435
Poruke: 979
*.dynamic.isp.telekom.rs.

Sajt: biske.rs


+39 Profil

icon Re: Java Interfaces objasnjenje18.01.2012. u 22:26 - pre 148 meseci
Evo još jednog primera iz knjige:
Obično, isporučilac neke usluge tvrdi: "Ukoliko je vaša klasa prilagođena određenom interfejsu, tada ću ja izvršiti tu uslugu". Obratimo pažnju na jedan konkretan primer.

Metoda sort klase Arrays obećava da će sortirati niz objekata, ali samo pod jednim uslovom. Ti objekti moraju da pripadaju klasi koja implementira interfejs Comparable.
U nastavku je prikazan interfejs Comparable:
Code (java):
public interface Comparable {
     int compareTo(Object other);
}


To znači da se od svake klase koja implementira interfejs Comparable, zahteva da ima metodu comareTo, i da ta metoda mora uzimati parametar Object i vratiti ceo broj.


Dobar primer bi bio i paket java.sql.*
Na primer Java programeri su oslobođeni razmišljanja oko implementacije klasa za pristup bazama. Sa tačke gledišta programera pristup svima bazama je isti. To je iz razloga što se paket java.sql.* uglavnom sastoji od interfejsa a proizvođači baza samo obezbeđuju implementaciju za svoju bazu.
 
Odgovor na temu

zoranix
Software Architect
IS MicroCore
Knjaževac

Član broj: 243111
Poruke: 162
*.static.isp.telekom.rs.

Sajt: www.micro.co.rs


+36 Profil

icon Re: Java Interfaces objasnjenje19.01.2012. u 07:42 - pre 148 meseci
`Ajd sad malo ja, još konkretnije na pitanje....

U principima objektno orijentisanog programiranja stoji da se treba omogućiti višestruko nasleđivanje. To praktično znači da treba omogućiti da se kreiranjem sopstvene klase (šeme) može naslediti više od jedne klase (šeme). Kao šti si pročitao u Java priručniku, ne postoji višestruko nasleđivanje (nema više od jednog "extend"!). Višestruko nasleđivanje uglavnom zna da pravi probleme, odnosno da bude konfuzno, u raznim implementacijama oop-a, kao na primer u "c++". S obzirom da je Java implementacija novija od "c++" implementacije oop-a, to se pribeglo metodi da se razlozi za višestrukim nasleđivanjem zadrže, a da se pri tom otklone pomenute "konfuzije" oko višestrukog nasleđivanja, pa su uvedeni takozvani "interfejsi".

Kao što znaš (verujem, barem...?!) u svojoj Java klasi možeš implementirati, teoretski, neograničen broj interfejsa. Time je princip oop-a, oko višestrukog nasleđivanja ispunjen, ali malo na svojstven način. U startu su neki kritikovali Java implementaciju oop-a, ali se kasnije ispostavilo da nisu bili u pravu i da uvođenjem "interfejsa" ništa nije bitno izgubljeno. Nego naprotiv, dodata je nova funkcionalnost, koja nije pomenuta u oop priručnicima.
 
Odgovor na temu

[es] :: Java :: Java Interfaces objasnjenje

[ Pregleda: 3073 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.