Kā virtuālais mantojums atrisina dimanta problēmu?
Kā virtuālais mantojums atrisina dimanta problēmu?

Video: Kā virtuālais mantojums atrisina dimanta problēmu?

Video: Kā virtuālais mantojums atrisina dimanta problēmu?
Video: Digitālās kolekcijas “Industriālais mantojums” atklāšana 2024, Maijs
Anonim

Virtuālā mantošana atrisina klasika Dimanta problēma ”. Tas nodrošina, ka bērnu klase iegūst tikai vienu kopējās bāzes klases gadījumu. Citiem vārdiem sakot, Snake klase gribu ir tikai viens LivingThing klases gadījums. Dzīvnieku un rāpuļu klasēm ir kopīgs šis gadījums.

Šajā sakarā, kāda ir dimanta problēma mantojumā?

dimanta problēma ” ir neskaidrība, kas var rasties vairāku atļaušanas rezultātā mantojums . Tas ir nopietns problēma valodām (piemēram, C++), kas pieļauj vairākas mantojums valsts. Tomēr Java ir vairākas mantojums nav atļauts klasēm, tikai saskarnēm, un tās nesatur statusu.

Pēc tam rodas jautājums, kā virtuālā bāzes klase palīdz mantojumā? Virtuālās bāzes klases piedāvā veidu, kā ietaupīt vietu un izvairīties no neskaidrībām klasē hierarhijas, kas izmanto vairākas mantošanas. Kad bāzes klase ir norādīts kā a virtuālā bāze , tas var darboties kā netiešs bāze vairāk nekā vienu reizi bez tā datu dalībnieku dublēšanās.

Ziniet arī, kas ir virtuālais publiskais mantojums?

Virtuālais mantojums ir C++ paņēmiens, kas nodrošina, ka ir tikai viena bāzes klases locekļu mainīgo kopija iedzimta pēc mazbērnu atvasinātām klasēm. Šī funkcija ir visnoderīgākā vairākiem mantojums , jo tas padara virtuāls bāzē kopīgu apakšobjektu atvasinātajai klasei un visām klasēm, kas ir atvasinātas no tās.

Kā interfeiss atrisina dimanta problēmu?

Kā izmantojot an saskarne Java valodā atrisināt uz dimanta problēma ? Tātad, ja divi saskarnes ir tāds pats metodes paraksts, un klase vēlas mantot (ieviests Java) no šiem diviem saskarnes , nav "metodes ķermeņa", ko mantot, tāpēc " dimants mantojums" izdevums tiek izvairīties.

Ieteicams: