Podporuje C# viacnásobnú dedičnosť?
Podporuje C# viacnásobnú dedičnosť?

Video: Podporuje C# viacnásobnú dedičnosť?

Video: Podporuje C# viacnásobnú dedičnosť?
Video: Does C# support Multiple Inheritance ? How can you implement multiple inheritance in C# ? 2024, Smieť
Anonim

Viacnásobné dedičstvo v C#

C# nie podporovať viacnásobné dedičstvo , pretože zdôvodnili, že pridanie viacnásobné dedičstvo pridalo príliš veľa zložitosti C# pričom poskytuje príliš malý úžitok. In C# , triedy sú povolené len dediť z jednej rodičovskej triedy, ktorá sa nazýva single dedičstvo

Ak vezmeme do úvahy toto, má C # viacnásobné dedičstvo?

In Viacnásobné dedičstvo , môže jedna trieda mať viac ako jedna supertrieda a dediť funkcie zo všetkých svojich rodičovských tried. ale C# áno nie podporovať viacero trieda dedičstvo . Na prekonanie tohto problému používame rozhrania na dosiahnutie viacnásobné trieda dedičstvo.

Podobne, prečo. NET nepodporuje viacnásobnú dedičnosť? NET a dizajnéri Java to urobili nie povoliť viacnásobné dedičstvo pretože usúdili, že pridanie MI pridalo príliš veľa zložitosti do jazykov a zároveň poskytlo príliš malý prínos. Rôzne jazyky majú v skutočnosti rôzne očakávania týkajúce sa fungovania MI.

Tiež vedieť, ktorý programovací jazyk nepodporuje viacnásobnú dedičnosť?

C++ , Lisp obyčajný a niekoľko ďalších jazykov podporuje viacnásobné dedičstvo, zatiaľ čo Java ho nepodporuje. Java neumožňuje viacnásobné dedičstvo, aby sa predišlo nejednoznačnosti, ktorú spôsobuje.

Môžete zdediť viacero tried?

Viacnásobné dedičstvo je znakom objektovo orientovaného konceptu, kde a trieda môže dediť vlastnosti viac ako jeden rodič trieda . Problém nastáva, keď existujú metódy s rovnakým podpisom v oboch super triedy a podtrieda.

Odporúča: