Dallimi midis zbatimeve dhe zgjatjeve

Dallimi midis zbatimeve dhe zgjatjeve
Dallimi midis zbatimeve dhe zgjatjeve

Video: Dallimi midis zbatimeve dhe zgjatjeve

Video: Dallimi midis zbatimeve dhe zgjatjeve
Video: Dallimi në mes fetvasë dhe hukmit - Hoxhë Ferid Selimi 2024, Nëntor
Anonim

Implements vs Extends

Implements dhe Extends janë dy fjalë kyçe që gjenden në gjuhën e programimit Java që ofron një mjet për transferimin e funksionalitetit të shtuar në një klasë të re. Fjala kyçe Implements përdoret në mënyrë eksplicite për zbatimin e një ndërfaqeje, ndërsa fjala kyçe Extends përdoret për të trashëguar nga një klasë (super). Ju lutemi vini re se konceptet e trashëgimisë dhe ndërfaqeve janë të pranishme në shumicën e gjuhëve të tjera programuese të orientuara drejt objekteve si C dhe VB. NET, por ato ofrojnë sintaksë ose fjalë kyçe të ndryshme për zbatimin e këtyre koncepteve. Ky artikull fokusohet vetëm në Implementon dhe Zgjeron fjalë kyçe të përcaktuara në Java.

Extends

Fjala kyçe Extends përdoret për të zbatuar konceptin e trashëgimisë në gjuhën programuese Java. Trashëgimia në thelb siguron ripërdorimin e kodit duke lejuar zgjerimin e vetive dhe sjelljes së një klase ekzistuese nga një klasë e sapopërcaktuar. Kur një nënklasë e re (ose klasë e prejardhur) zgjeron një super klasë (ose klasë prind) ajo nënklasë do të trashëgojë të gjitha atributet dhe metodat e super klasës. Nënklasa mund të anashkalojë opsionalisht sjelljen (të ofrojë funksione të reja ose të zgjeruara për metodat) të trashëguara nga klasa mëmë. Një nënklasë nuk mund të zgjasë shumë klasa super në Java. Prandaj, nuk mund të përdorni shtrirje për trashëgimi të shumëfishtë. Për të pasur trashëgimi të shumëfishtë, duhet të përdorni ndërfaqet siç shpjegohet më poshtë.

Zbaton

Fjala kyçe Implements në gjuhën programuese Java përdoret për zbatimin e një ndërfaqeje nga një klasë. Një ndërfaqe në Java është një lloj abstrakt që përdoret për të specifikuar një kontratë që duhet të zbatohet nga klasa, të cilat e zbatojnë atë ndërfaqe. Zakonisht një ndërfaqe do të përmbajë vetëm nënshkrime të metodës dhe deklarata të vazhdueshme. Çdo ndërfaqe që zbaton një ndërfaqe të veçantë duhet të zbatojë të gjitha metodat e përcaktuara në ndërfaqe, ose duhet të deklarohet si një klasë abstrakte. Në Java, lloji i referencës së një objekti mund të përcaktohet si një lloj ndërfaqeje. Por ai objekt ose duhet të jetë null ose duhet të mbajë një objekt të një klase, e cila zbaton atë ndërfaqe të veçantë. Duke përdorur fjalën kyçe Implements në Java, mund të implementoni ndërfaqe të shumta në një klasë të vetme. Një ndërfaqe nuk mund të implementojë një ndërfaqe tjetër. Megjithatë një ndërfaqe mund të zgjerojë një klasë.

Dallimi midis Implementeve dhe Zgjerimeve

Megjithëse, Implements dhe Extends janë dy fjalë kyçe që ofrojnë një mekanizëm për të trashëguar atributet dhe sjelljen në një klasë në gjuhën e programimit Java, ato përdoren për dy qëllime të ndryshme. Fjala kyçe Implements përdoret për një klasë për të zbatuar një ndërfaqe të caktuar, ndërsa fjala kyçe Extends përdoret për një nënklasë që shtrihet nga një super klasë. Kur një klasë zbaton një ndërfaqe, ajo klasë duhet të zbatojë të gjitha metodat e përcaktuara në ndërfaqe, por kur një nënklasë zgjeron një super klasë, ajo mund ose nuk mund të anashkalojë metodat e përfshira në klasën mëmë. Së fundi, një tjetër ndryshim kryesor midis Implements dhe Extends është se, një klasë mund të implementojë ndërfaqe të shumta, por mund të shtrihet vetëm nga një super klasë në Java. Në përgjithësi, përdorimi i Implementeve (ndërfaqeve) konsiderohet më i favorshëm në krahasim me përdorimin e Extends (trashëgimia), për disa arsye si fleksibiliteti më i lartë dhe aftësia për të minimizuar bashkimin. Prandaj, në praktikë, programimi në një ndërfaqe preferohet sesa shtrirja nga klasat bazë.

Recommended: