Защо множественото наследяване не е възможно в C#?
Защо множественото наследяване не е възможно в C#?

Видео: Защо множественото наследяване не е възможно в C#?

Видео: Защо множественото наследяване не е възможно в C#?
Видео: Бриллиантовая рука (FullHD, комедия, реж. Леонид Гайдай, 1968 г.) 2024, Ноември
Anonim

C# прави не поддържа множествено наследяване , защото те мотивираха това добавяне множествено наследяване добави твърде много сложност към C#, като същевременно осигури твърде малка полза. В C# класовете са само позволен да се наследи от единичен родителски клас, който се нарича единичен наследство.

Точно така, защо множественото наследяване не е позволено?

Java поддържа множествено наследяване само през интерфейси. Един клас може да реализира произволен брой интерфейси, но може да разшири само един клас. Множественото наследяване не се поддържа защото това води до смъртоносен проблем с диамантите. Интерфейсът е договор от неща, които вашият клас трябва да приложи.

Човек може също да попита, можем ли да наследим множество интерфейси в C#? Интерфейси са като споразумения или "договори" за какъв клас мога да направя . Класове мога имат множество интерфейси , но класовете не могат наследяват множество класове. Класове наследяване от повече от един клас е известен като многократни - наследство . C# прави не позволяват многократни - наследство.

Тук какъв е проблемът с Diamond в C# с множествено наследяване?

" проблем с диамантите " е неяснота, която възниква, когато два класа B и C наследи от А и клас D наследява както от B, така и от C. Ако има метод в A, който B и C са отменили, и D не го отменя, тогава кой клас от метода прави D наследи : тази на B или тази на C?

Какво е множествено наследяване в C# с пример?

° С# не позволява множествено наследяване с класове, но може да се реализира с помощта на интерфейс. Причината зад е: Множествено наследяване добавете твърде много сложност с малка полза. Има огромни шансове за конфликтен член на базовия клас. Наследство с интерфейс осигурява същата работа на множествено наследяване.

Препоръчано: