Kaip neaiškumų atsiranda daugialypio paveldėjimo atveju?

Turinys:

Kaip neaiškumų atsiranda daugialypio paveldėjimo atveju?
Kaip neaiškumų atsiranda daugialypio paveldėjimo atveju?

Video: Kaip neaiškumų atsiranda daugialypio paveldėjimo atveju?

Video: Kaip neaiškumų atsiranda daugialypio paveldėjimo atveju?
Video: Aleatoric vs Epistemic Uncertainty | Lecture 28 (Part 1) | Applied Deep Learning (Supplementary) 2024, Lapkritis
Anonim

Dviprasmiškumas, atsirandantis naudojant kelis paveldėjimo būdus, reiškia išvestinę klasę, turinčią daugiau nei vieną pirminę klasę, kuri apibrėžia ypatybes ir (arba) metodus tuo pačiu pavadinimuPavyzdžiui, jei „C“paveldi ir iš „A“, ir „B“, ir iš „A“ir „B“klasių, abi apibrėžia ypatybę pavadinimu x ir funkciją getx.

Kas yra daugialypio paveldėjimo dviprasmiškumas?

Dviprasmybė daugiausia kyla dėl daugybinio paveldėjimo Dvi pagrindinės klasės turi funkcijas tuo pačiu pavadinimu, o klasė, gauta iš abiejų bazinių klasių, šiuo pavadinimu funkcijos neturi. Kai iškviečiame funkciją su išvestinės klasės objektu, kompiliatorius negali išsiaiškinti, kuri iš dviejų funkcijų turi omenyje.

Ar daugkartinio paveldėjimo sąvoka gali būti dviprasmiška?

Paveldėjimo dviprasmiškumas gali būti apibrėžiamas kaip tada, kai viena klasė yra išvesta dviem ar daugiau bazinių klasių, tada yra tikimybė, kad pagrindinės klasės turi funkcijas tuo pačiu pavadinimu. Taigi išvestinių klasių pasirinkimas iš panašių pavadinimo funkcijų suklaidins.

Koks dviprasmiškumas kyla dėl daugialypio paveldėjimo ir kaip jį išspręsti?

Gali kilti neaiškumų kai yra keli keliai į klasę iš tos pačios pagrindinės klasės Tai reiškia, kad antrinėje klasėje gali būti pasikartojančių narių rinkinių, paveldėtų iš vienos pagrindinės klasės. Tai galima išspręsti naudojant virtualią bazinę klasę. … Tokia bazinė klasė žinoma kaip virtuali bazinė klasė.

Kas yra dviprasmiškumo paveldėjimas Kaip įveikiate paaiškinimą pavyzdžiu?

Tarkime, kad dvi klasės, pavadintos A ir B, turi narį, pavadintą x, o klasė, pavadinta C, paveldi ir iš A, ir iš B. Bandymas pasiekti x iš C klasės būtų dviprasmiškas. Galite išspręsti dviprasmiškumą kvalifikuodami narį jo klasės pavadinimu, naudodami apimties skyros (::) operatorių.

Rekomenduojamas: