Почему в C # невозможно множественное наследование?
Почему в C # невозможно множественное наследование?

Видео: Почему в C # невозможно множественное наследование?

Видео: Почему в C # невозможно множественное наследование?
Видео: Множественное наследование. Виртуальное наследование 2024, Май
Anonim

C # делает нет служба поддержки множественное наследование , потому что они рассудили, что добавление множественное наследование добавили слишком большую сложность C #, но принесли мало пользы. В C # только классы разрешается к наследовать из единственного родительского класса, который называется одиночным наследование.

Так почему же множественное наследование не допускается?

Java поддерживает множественное наследование только через интерфейсы. Класс может реализовывать любое количество интерфейсов, но может расширять только один класс. Множественное наследование не поддерживается потому что это приводит к смертельной проблеме с бриллиантами. Интерфейс - это контракт вещей, который должен реализовать ваш класс.

Можно также спросить, можем ли мы унаследовать несколько интерфейсов в C #? Интерфейсы похожи на соглашения или «контракты» о том, какой класс сможет сделать . Классы жестяная банка имеют несколько интерфейсов , но классы не могут наследовать несколько классы. Классы наследование из более чем один класс известен как несколько - наследование . C # делает не разрешать несколько - наследование.

В чем проблема Diamond в C # с множественным наследованием?

" проблема с алмазом "- двусмысленность, которая возникает, когда два класса B и C наследовать из A и класса D наследует как из B, так и из C. Если в A есть метод, переопределенный B и C, и D не переопределяет его, то какой класс метода выполняет D наследовать : что из B или что из C?

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

C # не позволяет множественное наследование с классами, но это может быть реализовано с помощью интерфейса. Причина: Множественное наследование добавить слишком много сложности с небольшой пользой. Есть огромные шансы на конфликт членов базового класса. Наследование с интерфейсом обеспечивает ту же работу множественное наследование.

Рекомендуемые: