Atšķirība starp abstrakto klasi un mantojumu

Satura rādītājs:

Atšķirība starp abstrakto klasi un mantojumu
Atšķirība starp abstrakto klasi un mantojumu

Video: Atšķirība starp abstrakto klasi un mantojumu

Video: Atšķirība starp abstrakto klasi un mantojumu
Video: Паллетирование стало проще ENG Вебинар KUKA Nordic 2024, Decembris
Anonim

Abstraktā klase pret mantojumu

Abstract class un Heritance ir divi svarīgi objektorientēti jēdzieni, kas atrodami daudzās objektorientētās programmēšanas valodās, piemēram, Java. Abstrakto klasi var uzskatīt par parastās (konkrētās) klases abstraktu versiju, savukārt Mantojums ļauj jaunām klasēm paplašināt citas klases. Abstraktā klase ir klase, kuru nevar inicializēt, bet var paplašināt. Tātad abstraktajām klasēm ir nozīme tikai tad, ja programmēšanas valoda atbalsta pārmantošanu. Java valodā abstraktās klases tiek deklarētas, izmantojot atslēgvārdu Abstract, savukārt atslēgvārds Extends tiek izmantots mantošanai no (super) klases.

Kas ir abstraktā klase?

Parasti abstraktās klases, kas pazīstamas arī kā Abstract Base Classes (ABC), nevar izveidot (šīs klases gadījumu nevar izveidot). Tātad abstraktajām klasēm ir nozīme tikai tad, ja programmēšanas valoda atbalsta pārmantošanu (spēju izveidot apakšklases, paplašinot klasi). Abstraktās klases parasti attēlo abstraktu jēdzienu vai entītiju ar daļēju ieviešanu vai bez tās. Tāpēc abstraktās klases darbojas kā vecākklases, no kurām tiek atvasinātas pakārtotās klases, tādējādi pakārtotajām klasēm būs kopīgas vecākas klases nepilnīgās funkcijas, un to pabeigšanai var pievienot funkcionalitāti.

Abstract klasēs var būt ietvertas abstraktās metodes. Apakšklases, kas paplašina abstrakto klasi, var īstenot šīs (mantotās) abstraktās metodes. Ja bērnu klase īsteno visas šādas abstraktās metodes, tā ir konkrēta klase. Bet, ja tā nenotiek, arī bērnu klase kļūst par abstrakto klasi. Tas viss nozīmē to, ka, programmētāja izvirzot klasi kā abstraktu, viņa saka, ka klase būs nepilnīga un tajā būs elementi, kas jāpabeidz mantotajām apakšklasēm. Tas ir jauks veids, kā izveidot līgumu starp diviem programmētājiem, kas vienkāršo programmatūras izstrādes uzdevumus. Programmētājam, kas raksta kodu, lai mantotu, ir precīzi jāievēro metodes definīcijas (bet, protams, var būt arī sava ieviešana).

Kas ir mantošana?

Mantojums ir uz objektu orientēta koncepcija, kas ļauj jaunām klasēm paplašināt citas klases. Atslēgvārds Extends tiek izmantots, lai ieviestu mantojuma jēdzienu Java programmēšanas valodā. Mantojums būtībā nodrošina koda atkārtotu izmantošanu, ļaujot paplašināt esošās klases īpašības un uzvedību ar jaunu definētu klasi. Kad jauna apakšklase (vai atvasināta klase) paplašina virsklasi (vai vecāku klasi), šī apakšklase pārmantos visus superklases atribūtus un metodes. Apakšklase var pēc izvēles ignorēt uzvedību (nodrošināt jaunu vai paplašinātu funkcionalitāti metodēm), kas mantotas no vecākklases. Parasti apakšklase nevar paplašināt vairākas superklases (piemēram, Java). Tāpēc vairākkārtējai mantošanai nevar izmantot paplašinājumus. Lai iegūtu vairāku mantojumu, jums ir jāizmanto saskarnes.

Kāda ir atšķirība starp abstrakto klasi un mantojumu?

Abstraktās klases parasti attēlo abstraktu jēdzienu vai vienību ar daļēju ieviešanu vai bez tās. Mantojums ļauj jaunām klasēm paplašināt citas klases. Tā kā abstraktās klases nevar izveidot, lai izmantotu abstraktās klases, jums ir jāizmanto mantojuma jēdziens. Pretējā gadījumā abstraktā klase nav noderīga. Abstraktās klases var saturēt abstraktas metodes, un, paplašinot klasi, visas metodes (abstraktās un konkrētās) tiek mantotas. Mantotā klase var ieviest jebkuru vai visas metodes. Ja visas abstraktās metodes nav ieviestas, arī šī klase kļūst par abstrakto klasi. Klase nevar mantot no vairākām abstraktajām klasēm (šī nav abstrakto klašu kvalitāte pati par sevi, bet gan mantojuma ierobežojums).

Saistītās ziņas:

Image
Image
Image
Image

Atšķirība starp abstrakto un betona klasi

Image
Image
Image
Image

Atšķirība starp virtuālo un abstrakto

Image
Image
Image
Image

Atšķirība starp abstrakto klasi un interfeisu

Image
Image
Image
Image

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

Image
Image
Image
Image

Atšķirība starp grafiku un koku

Filed Under: Programmēšana Tagged with: ABC, abstrakts, abstraktas bāzes klases, abstraktas klases, abstraktas klases, abstrakts atslēgvārds, abstraktās metodes, konkrēta klase, atslēgvārda paplašinājums, mantojums, mantojuma klase, mantotā klase, Java, vairākkārtēja mantošana, objektorientēti jēdzieni, parastā klase, superklase

Attēls
Attēls

Par autoru: Indika

Indika, BSc. Eng, MSECE Computer Engineering, PhD. Datorzinātnes, ir docents, un viņam ir pētniecības intereses bioinformātikas, skaitļošanas bioloģijas un biomedicīnas dabiskās valodas apstrādes jomās.

Komentāri

  1. Attēls
    Attēls

    Džeisons saka

    2017. gada 30. augusts, plkst. 13:25

    Paldies, ka izskaidrojāt atšķirību. Ar to visi mani jautājumi ir atrisināti.

    Atbildēt

  2. Attēls
    Attēls

    Aus saka

    2019. gada 10. maijs, 15:04

    labākā atbilde tīmeklī, Skolotājs nepaskaidro sūdus un nav jēgas, mono tonis mf. Šādi jūs izskaidrojat jēdzienus.

    Atbildēt

Atstāt atbildi Atcelt atbildi

Jūsu e-pasta adrese netiks publicēta. Obligātie lauki ir atzīmēti ar

Komentārs

Vārds

E-pasts

Tīmekļa vietne

Pieprasīt rakstu
Pieprasīt rakstu
Pieprasīt rakstu
Pieprasīt rakstu

Piedāvātās ziņas

Atšķirība starp koronavīrusa un saaukstēšanās simptomiem
Atšķirība starp koronavīrusa un saaukstēšanās simptomiem

Atšķirība starp koronavīrusu un saaukstēšanās simptomiem

Atšķirība starp koronavīrusu un SARS
Atšķirība starp koronavīrusu un SARS

Atšķirība starp koronavīrusu un SARS

Atšķirība starp koronavīrusu un gripu
Atšķirība starp koronavīrusu un gripu

Atšķirība starp koronavīrusu un gripu

Atšķirība starp koronavīrusu un Covid 19
Atšķirība starp koronavīrusu un Covid 19

Atšķirība starp koronavīrusu un Covid 19

Jums var patikt

Atšķirība starp Sibīrijas haskiju un malamutu

Atšķirība starp Calculus AB un BC

Ieteicams: