Razlika Med Abstraktnim Razredom In Vmesnikom

Razlika Med Abstraktnim Razredom In Vmesnikom
Razlika Med Abstraktnim Razredom In Vmesnikom

Video: Razlika Med Abstraktnim Razredom In Vmesnikom

Video: Razlika Med Abstraktnim Razredom In Vmesnikom
Video: TIPOVI UCENIKA U SKOLI 2024, November
Anonim

Povzetek razreda vs vmesnik

Abstraktni razred in vmesnik sta dva objektno usmerjena konstrukta, ki ju najdemo v mnogih objektno usmerjenih programskih jezikih, kot je Java. Abstraktni razred lahko štejemo za abstraktno različico običajnega (konkretnega) razreda, vmesnik pa kot sredstvo za izvajanje pogodbe. Abstraktni razred je razred, ki ga ni mogoče inicializirati, vendar ga je mogoče razširiti. Vmesnik je vrsta, ki jo morajo izvajati drugi razredi. V Javi so razredi Abstract razglašeni s ključno besedo Abstract, medtem ko je ključna beseda interface uporabljena za definiranje vmesnika.

Kaj je abstraktni razred?

Običajno abstraktnih razredov, znanih tudi kot abstraktni osnovni razredi (ABC), ni mogoče izdelati v primerku (primerka tega razreda ni mogoče ustvariti). Torej, abstraktne razrede je smiselno imeti le, če programski jezik podpira dedovanje (zmožnost ustvarjanja podrazredov iz razširitve razreda). Abstraktni razredi običajno predstavljajo abstraktni koncept ali entiteto z delno izvedbo ali brez nje. Zato abstraktni razredi delujejo kot nadrejeni razredi, iz katerih izhajajo podrejeni razredi, tako da si bo podrejeni razred delil nepopolne lastnosti nadrejenega razreda, za dokončanje pa je mogoče dodati funkcionalnost.

Abstraktni razredi lahko vsebujejo abstraktne metode. Podrazredi, ki razširjajo abstraktni razred, lahko izvajajo te (podedovane) abstraktne metode. Če podrejeni razred izvaja vse take abstraktne metode, je to konkreten razred. Če pa ne, postane razred otrok tudi abstraktni. Vse to pomeni, da ko programerka nominira razred za Povzetek, pravi, da bo razred nepopoln in bo imel elemente, ki jih je treba dopolniti z podedovanimi podrazredi. To je lep način za sklenitev pogodbe med dvema programerjema, ki poenostavlja naloge pri razvoju programske opreme. Programerka, ki piše kodo za dedovanje, mora natančno slediti definicijam metode (seveda pa ima lahko lastno izvedbo).

Kaj je vmesnik?

Vmesnik je abstraktna vrsta, ki se uporablja za določanje pogodbe, ki jo morajo izvajati razredi, ki ta vmesnik izvajajo. Ključna beseda vmesnik se uporablja za definiranje vmesnika, ključna beseda Implements pa za vnos vmesnika v razred (v programskem jeziku Java). Običajno bo vmesnik vseboval samo podpise metod in konstantne deklaracije. Vsak vmesnik, ki izvaja določen vmesnik, mora izvajati vse metode, opredeljene v vmesniku, ali pa ga je treba razglasiti kot abstraktni razred. V Javi lahko vrsto reference na objekt definiramo kot vrsto vmesnika. Toda ta objekt mora biti null ali mora vsebovati objekt razreda, ki izvaja ta vmesnik. Z uporabo ključne besede Implements v Javi lahko v en razred implementirate več vmesnikov.

Kakšna je razlika med abstraktnim razredom in vmesnikom?

Abstraktni razredi običajno predstavljajo abstraktni koncept ali entiteto z delno izvedbo ali brez nje. Po drugi strani pa je vmesnik abstraktna vrsta, ki se uporablja za določanje pogodbe, ki jo morajo izvajati razredi. Abstraktne razrede je treba podedovati (ali razširiti), medtem ko je treba uporabiti vmesnike. Abstraktni razredi lahko vsebujejo abstraktne metode, medtem ko mora vmesnik vsebovati samo abstraktne metode. Abstraktni razredi lahko vsebujejo poljubne spremenljivke, vmesniki pa lahko določajo samo konstante. Razred ne more podedovati več kot enega abstraktnega razreda, lahko pa implementira več vmesnikov. Vmesnik ne more implementirati drugega vmesnika. Vendar lahko vmesnik razširi razred.

Priporočena: