Razlika Med Dedovanjem In Sestavo

Razlika Med Dedovanjem In Sestavo
Razlika Med Dedovanjem In Sestavo

Video: Razlika Med Dedovanjem In Sestavo

Video: Razlika Med Dedovanjem In Sestavo
Video: лечение перекисью водорода, кислородный коктейль, кислородная вода помогут вылечить ВСД, ИБС, ХНК? 2024, November
Anonim

Dedovanje vs sestava

Dedovanje in sestava sta dva pomembna koncepta, ki ju najdemo v OOP (objektno usmerjeno programiranje). Preprosto povedano, tako sestava kot dedovanje se ukvarjata z zagotavljanjem dodatnih lastnosti ali vedenja razredu. Dedovanje je sposobnost razreda, da podeduje lastnosti in vedenje nadrejenega razreda tako, da ga razširi. Po drugi strani pa je Composition zmožnost razreda, da kot podatke o članih vsebuje predmete različnih razredov.

Kaj je dedovanje?

Kot je bilo omenjeno zgoraj, je dedovanje sposobnost razreda, da podeduje lastnosti in vedenje nadrejenega razreda tako, da ga razširi. Dedovanje v bistvu zagotavlja ponovno uporabo kode, tako da omogoča razširitev lastnosti in vedenja obstoječega razreda na novo definiran razred. Če razred A razširja B, potem se razred B imenuje nadrejeni razred (ali super razred), razred A pa podrejeni razred (ali izpeljani razred / podrazred). V tem primeru scenarij bo razred A podedoval vse javne in zaščitene atribute in metode super razreda (B). Podrazred lahko po želji preglasi (metodam zagotovi novo ali razširjeno funkcionalnost) vedenje, podedovano od nadrejenega razreda.

Dedovanje predstavlja odnos "je-a" v OOP. To v bistvu pomeni, da je A tudi B. Z drugimi besedami, B je lahko razred s splošnim opisom določene resnične entitete, A pa določa določeno specializacijo. V resničnem programskem problemu bi lahko razred Person razširili tako, da bi ustvarili razred Employee. To se imenuje specializacija. Lahko pa tudi najprej ustvarite razred Employee in ga nato posplošite tudi na razred Person (tj. Posploševanje). V tem primeru bo delavec imel vse lastnosti in vedenje osebe (tj. Zaposleni je tudi oseba) in lahko vsebuje tudi nekaj dodatnih funkcij (torej oseba ni zaposleni).

Kaj je sestava?

Sestava je sposobnost razreda, da kot podatke o članih vsebuje predmete različnih razredov. Na primer, razred A lahko kot član vsebuje predmet razreda B. Tu se lahko vse javne metode (ali funkcije), opredeljene v B, izvajajo znotraj razreda A. Razred A postane vsebnik, razred B pa vsebovani razred. Sestava se imenuje tudi vsebnost. V tem primeru lahko rečemo, da je razred A sestavljen iz razreda B. V OOP Composition predstavlja razmerje "ima-a". Pomembno je vedeti, da čeprav ima vsebnik dostop za izvajanje vseh javnih metod vsebovanega razreda, ne more spremeniti ali zagotoviti dodatne funkcionalnosti. Ko gre za resnični problem programiranja, je lahko predmet razreda TextBox v razredu Form,in tako lahko rečemo, da obrazec vsebuje TextBox (ali pa je obrazec sestavljen iz TextBox).

Kakšna je razlika med dedovanjem in sestavo?

Čeprav sta Dedovanje in Sestava dva koncepta OOP, sta si zelo različna v tem, kar programerju omogočata, da doseže. Dedovanje je sposobnost razreda, da podeduje lastnosti in vedenje nadrejenega razreda tako, da ga razširi, medtem ko je Composition zmožnost razreda, da vsebuje predmete različnih razredov kot podatke o članih. Če je razred razširjen, podeduje vse javne in zaščitene lastnosti / vedenje in ta vedenja lahko preglasi podrazred. Če pa je razred v drugem, vsebnik ne more spremeniti ali dodati vedenja v tem. Dedovanje predstavlja razmerje "je-a" v OOP, medtem ko kompozicija predstavlja odnos "ima-a".

Priporočena: