Miért nem lehetséges a többszörös öröklődés a C#-ban?
Miért nem lehetséges a többszörös öröklődés a C#-ban?

Videó: Miért nem lehetséges a többszörös öröklődés a C#-ban?

Videó: Miért nem lehetséges a többszörös öröklődés a C#-ban?
Videó: По следам древней цивилизации? 🗿 Что, если мы ошиблись в своем прошлом? 2024, December
Anonim

A C# igen nem támogatás többszörös öröklődés , mert úgy indokolták, hogy hozzátéve többszörös öröklődés túl sok bonyolultságot adott a C#-nak, miközben túl kevés előnyt biztosított. C#-ban az osztályok csak megengedett nak nek örököl egyszülős osztályból, amelyet egyedülállónak neveznek öröklés.

Csak hát miért nem megengedett a többszörös öröklés?

Java támogatja többszörös öröklődés csak interfészeken keresztül. Egy osztály tetszőleges számú interfészt megvalósíthat, de csak egy osztályt bővíthet ki. A többszörös öröklés nem támogatott mert halálos gyémántproblémához vezet. Az interfész olyan dolgok szerződése, amelyeket az osztálynak végre kell hajtania.

Az is felmerülhet, hogy örökölhetünk-e több interfészt C#-ban? Interfészek olyanok, mint a megállapodások vagy "szerződések" arról, hogy milyen osztályról van szó meg tud tenni . osztályok tud van több interfész , de az osztályok nem többszörös öröklése osztályok. osztályok örökölni több mint egy osztály néven ismert többszörös - öröklés . A C# igen nem megengedett többszörös - öröklés.

Itt mi a Diamond probléma a többszörös öröklődésű C#-ban?

Az " gyémánt probléma " egy kétértelműség, amely akkor merül fel, ha két B és C osztály örököl A és D osztályból örököl B-ből és C-ből is. Ha A-ban van olyan metódus, amelyet B és C felülírt, és D nem írja felül, akkor a metódus melyik osztályát írja felül D örököl : B-é, vagy C-é?

Mi a többszörös öröklődés a C#-ban példával?

C# nem engedi többszörös öröklődés osztályokkal, de interfész segítségével megvalósítható. A mögöttes ok: Többszörös öröklés túl sok bonyolultságot ad hozzá kevés haszonnal. Óriási az esélye annak, hogy az alaposztály tagja ütközik. Öröklés Az interfész ugyanazt a munkát biztosítja többszörös öröklődés.

Ajánlott: