Paveldėjimo ir talpinimo skirtumai

Paveldimumas ir konteinerių vartojimas

Paveldėjimas ir talpinimas yra dvi svarbios sąvokos, rastos OOP (Objektinio programavimo pavyzdys: C ++). Paprasčiau tariant, tiek konteinerių, tiek paveldėjimo klausimai yra susiję su papildomų savybių ar elgesio suteikimu klasei. Paveldimumas yra klasės sugebėjimas paveldėti savybes ir elgesį iš tėvų klasės ją pratęsiant. Kita vertus, „Containership“ yra klasės sugebėjimas kaip skirtingų narių duomenis laikyti skirtingų klasių objektus.

Kas yra paveldimumas?

Kaip minėta aukščiau, paveldėjimas yra klasės sugebėjimas paveldėti savybes ir elgesį iš tėvų klasės, pratęsiant ją. Paveldėjimas iš esmės suteikia galimybę pakartotinai naudoti kodą, nes leidžia naujai apibrėžtai klasei išplėsti esamos klasės savybes ir elgesį. Jei A klasė tęsiasi B, tada B klasė vadinama tėvų klase (arba superklase), o A klasė vadinama vaikų klase (arba išvestine klase / antrine klase). Šiame scenarijaus pavyzdyje A klasė paveldės visus viešuosius ir saugomus superklasės (B) požymius ir metodus. Poklasis gali pasirinktinai nepaisyti (suteikti metodams naujų ar išplėstų funkcijų) elgesio, paveldėto iš tėvų klasės. Paveldimumas reiškia „yra“ santykį OOP. Tai iš esmės reiškia, kad A taip pat yra B. Kitaip tariant, B gali būti klasė su bendru tam tikro realaus pasaulio subjekto aprašymu, bet A nurodo tam tikrą specializaciją. Esant realaus pasaulio programavimo problemai, „Person“ klasė galėtų būti išplėsta, kad būtų sukurta „Employee“ klasė. Tai vadinama specializacija. Bet jūs taip pat pirmiausia galėtumėte sukurti „Darbininkų klasę“, o paskui ją apibendrinti ir „Personų klasėje“ (t. Y. Apibendrinti). Šiame pavyzdyje darbuotojas turės visas asmens savybes ir elgesį (t. Y. Darbuotojas taip pat yra asmuo) ir gali turėti tam tikrų papildomų funkcijų (taigi, asmuo nėra darbuotojas).

Kas yra konteineriai?

Konteinerių klasė yra klasės galimybė kaip nario duomenis laikyti skirtingų klasių objektus. Pvz., A klasėje gali būti B klasės objektas kaip narys. Visi B metodu apibrėžti viešieji metodai (arba funkcijos) gali būti vykdomi A klasėje. A klasė tampa konteineriu, o B klasė - uždaroji klasė. Konteineris taip pat vadinamas kompozicija. Šiame pavyzdyje galima sakyti, kad A klasė yra sudaryta iš B klasės. OOP konteineris reiškia „turi-turi“ santykį. Svarbu pažymėti, kad nors konteineris turi prieigą vykdyti visus uždaros klasės viešus metodus, jis negali pakeisti ar suteikti papildomų funkcijų. Kalbant apie realaus pasaulio programavimo problemą, „TextBox“ klasės objektas gali būti klasės formoje, todėl galima teigti, kad formoje yra „TextBox“ (arba, kitaip, formą sudaro „TextBox“)..

Paveldėjimo ir talpinimo skirtumai

Paveldėjimas ir susikaupimas yra dvi OOP sąvokos, tačiau jos labai skiriasi tuo, ką jos leidžia pasiekti programuotojui. Paveldimumas yra klasės sugebėjimas paveldėti savybes ir elgesį iš tėvų klasės, praplečiant ją, tuo tarpu „Containrship“ yra klasės sugebėjimas sudaryti skirtingų klasių objektus kaip nario duomenis. Jei klasė pratęsiama, ji paveldi visas viešąsias ir saugomas savybes / elgesį, ir tas elgesys gali būti pakeistas poklasiu. Bet jei klasė yra kitoje, tai konteineris neturi galimybės pakeisti ar pridėti elgesio su tuo. Paveldimumas reiškia „yra“ santykį OOP, o „Containership“ reiškia „turi“ santykį.