Razlika između implementacije i proširenja

Implements vs Extends

Implementacije i proširenja dvije su ključne riječi koje se nalaze u programskom jeziku Java koje pružaju način prijenosa dodane funkcionalnosti u novu klasu. Ključna riječ Implements izričito se koristi za implementaciju sučelja, dok se ključna riječ Extends koristi za nasljeđivanje od (super) klase. Imajte na umu da su koncepti nasljeđivanja i sučelja prisutni u većini drugih objektnih programskih jezika poput C # i VB.NET, ali nude različite sintakse ili ključne riječi za primjenu tih koncepata. Ovaj se članak fokusira samo na implementacije i proširenja ključnih riječi definiranih u Javi.

Proširuje

Ključna riječ Extends koristi se za implementaciju koncepta nasljeđivanja u programskom jeziku Java. Nasljeđivanje u osnovi pruža ponovnu upotrebu koda omogućavajući proširivanje svojstava i ponašanja postojeće klase novo definiranom klasom. Kada novi podrazred (ili izvedena klasa) proširi super klasu (ili roditeljsku klasu), taj će podrazred naslijediti sve atribute i metode super klase. Podklasa po izboru može nadjačati ponašanje (pružiti nove ili proširene funkcionalnosti metodama) naslijeđeno od roditeljske klase. Podklasa ne može proširiti više super klasa u Javi. Dakle, proteze ne možete koristiti za višestruko nasljeđivanje. Da biste imali više nasljeđivanja, trebate koristiti sučelja kako je objašnjeno u nastavku.

provodi

Ključna riječ implementira u programskom jeziku Java koristi se za implementaciju sučelja po klasama. Sučelje u Javi je apstraktni tip koji se koristi za određivanje ugovora koje bi trebale implementirati klase koje implementiraju to sučelje. Obično sučelje sadrži samo potpise metoda i stalne deklaracije. Svako sučelje koje implementira određeno sučelje treba implementirati sve metode definirane u sučelju ili se treba deklarirati kao apstraktna klasa. U Javi se vrsta reference objekta može definirati kao vrsta sučelja. Ali taj objekt mora biti ili null ili treba sadržavati objekt klase koji implementira određeno određeno sučelje. Korištenjem ključne riječi Implements u Javi možete implementirati više sučelja u jednu klasu. Sučelje ne može implementirati drugo sučelje. Međutim, sučelje može proširiti klasu.

Razlika između implementacija i proširenja

Iako su, implementacije i proširenja, dvije ključne riječi koje pružaju mehanizam za nasljeđivanje atributa i ponašanja klase u javanskom programskom jeziku, one se koriste u dvije različite svrhe. Ključna riječ Implements koristi se za klasu za implementaciju određenog sučelja, dok se ključna riječ Extends koristi za podklasu koja se proteže iz super klase. Kada klasa implementira sučelje, ta klasa mora implementirati sve metode definirane u sučelju, ali kada podrazred proširi super klasu, može ili ne smije nadjačati metode uključene u roditeljsku klasu. Napokon, još jedna ključna razlika između Implements i Extends je ta što klasa može implementirati više sučelja, ali može se proširiti samo iz jedne super klase u Javi. Općenito, upotreba instrumenata (sučelja) smatra se povoljnijom u usporedbi s upotrebom produžetaka (nasljeđivanje) iz nekoliko razloga, poput veće fleksibilnosti i mogućnosti minimiziranja povezivanja. Stoga se u praksi preferira programiranje na sučelje u odnosu na proširenje iz osnovnih razreda.