Atšķirība Starp Ieviešanu Un Pagarināšanu

Atšķirība Starp Ieviešanu Un Pagarināšanu
Atšķirība Starp Ieviešanu Un Pagarināšanu

Video: Atšķirība Starp Ieviešanu Un Pagarināšanu

Video: Atšķirība Starp Ieviešanu Un Pagarināšanu
Video: Latvijas, Lietuvas un Baltkrievijas programmas vebinārs par projektu ieviešanu (ieraksts) 2024, Aprīlis
Anonim

Īsteno un pagarina

Īstenošana un paplašināšana ir divi Java programmēšanas valodā atrodami atslēgvārdi, kas nodrošina iespēju pievienotās funkcionalitātes pārsūtīšanai uz jaunu klasi. Ieviešanas atslēgvārds tiek izmantots tieši saskarnes ieviešanai, savukārt paplašinājums tiek izmantots mantošanai no (super) klases. Lūdzu, ņemiet vērā, ka mantojuma jēdzieni un saskarnes ir sastopami lielākajā daļā citu objektorientēto programmēšanas valodu, piemēram, C # un VB. NET, taču tie piedāvā atšķirīgu sintaksi vai atslēgvārdus šo jēdzienu lietošanai. Šis raksts koncentrējas tikai uz Java definēto atslēgvārdu ieviešanu un paplašināšanu.

Pagarina

Atslēgvārds paplašinājums tiek izmantots, lai Java programmēšanas valodā ieviestu mantojuma jēdzienu. Mantošana būtībā nodrošina koda atkārtotu izmantošanu, ļaujot paplašināt esošās klases rekvizītus un uzvedību ar jaunu definētu klasi. Kad jauna apakšklase (vai atvasināta klase) paplašina superklasi (vai vecāku klasi), šī apakšklase mantos visus superklases atribūtus un metodes. Apakšklase pēc izvēles var ignorēt uzvedību (nodrošināt metodēm jaunu vai paplašinātu funkcionalitāti), kas mantota no vecāku klases. Apakšklase nevar paplašināt Java vairākas superklases. Tāpēc jūs nevarat izmantot pagarinājumus vairākkārtējai mantošanai. Lai iegūtu vairākkārtēju mantojumu, jums jāizmanto saskarnes, kā paskaidrots turpmāk.

Īsteno

Īsteno atslēgvārdu Java programmēšanas valodā, lai klases ieviestu saskarni. Java saskarne ir abstrakts veids, ko izmanto, lai norādītu līgumu, kas būtu jāievieš klasēm, kuras ievieš šo saskarni. Parasti saskarnē būs tikai metodes paraksti un nemainīgas deklarācijas. Jebkurai saskarnei, kas ievieš konkrētu saskarni, būtu jāīsteno visas saskarnē definētās metodes vai tā būtu jādeklarē kā abstrakta klase. Java valodā objekta atsauces tipu var definēt kā interfeisa tipu. Bet šim objektam jābūt vai nu nulles vērtībā, vai arī tam ir jābūt klases objektam, kas īsteno šo konkrēto saskarni. Izmantojot Java Java atslēgvārdu, vienā klasē varat ieviest vairākas saskarnes. Interfeiss nevar ieviest citu saskarni. Tomēr interfeiss var paplašināt klasi.

Atšķirība starp ieviešanu un pagarināšanu

Lai gan Implements and Extends ir divi atslēgvārdi, kas nodrošina mehānismu, kā Java programmēšanas valodā mantot atribūtus un uzvedību klasē, tos izmanto diviem dažādiem mērķiem. Īstenošanas atslēgvārds tiek izmantots klasei, lai ieviestu noteiktu saskarni, savukārt paplašinājums tiek izmantots apakšklases paplašināšanai no superklases. Kad klase ievieš saskarni, šai klasei jāievieš visas saskarnē noteiktās metodes, bet, kad apakšklase paplašina superklasi, tā var vai nevar ignorēt vecāku klasē iekļautās metodes. Visbeidzot, vēl viena būtiska atšķirība starp ieviešanu un paplašināšanu ir tā, ka klase var ieviest vairākas saskarnes, bet tā var paplašināties tikai no vienas super klases Java. Parasti ierīču (saskarņu) lietošana tiek uzskatīta par labvēlīgāku salīdzinājumā ar paplašinājumu (mantojuma) izmantošanu,vairāku iemeslu dēļ, piemēram, lielāka elastība un spēja samazināt sasaisti. Tāpēc praksē priekšroka dodama programmēšanai saskarnē, nevis paplašināšanai no bāzes klasēm.

Ieteicams: