Я уже давно задаю себе этот вопрос. Мысль о публикации. C# не поддерживает множественное наследование (это факт). Все классы, созданные на C#, выходят из класса Object (опять-таки факт).Single Inheritance in C# - класс объекта?
Итак, если C# не поддерживает множественное наследование, то как мы можем расширить класс, даже если он уже расширяет класс Object?
Illustating с примером:
- класс А: объект - класс A создан.
- класс B: объект - класс B создан.
- класс A: B - это снова поддерживается. Что происходит с предыдущей ассоциацией объекта.
Мы можем использовать методы класса объектов в A после шага 3. Таким образом, это преобразование в многоуровневое наследование. Если это так, то
- Класс A: B
- Класс C: B
- Класс A: C - я должен быть в состоянии получить доступ к методам класса B в A. Что не так?
Может ли кто-нибудь объяснить это?
C# не поддерживает множественное наследование, но поддерживает несколько интерфейсов. Вы все еще можете наследовать только от одного объекта. – 2008-10-10 14:05:55
Это просто семантика. Реализация интерфейса _is_ - слабая форма наследования. – 2008-10-10 14:07:40
Заменить «ветвь дерева» для дерева и пропустить часть о реализации интерфейсов, являющихся наследованием. Внедрение интерфейса просто означает, что ваш класс гарантирует, что он определит подпись. Вы не наследуете никакого кода от интерфейса. Но, вы сказали «после моды», поэтому, я думаю ... – tvanfosson 2008-10-10 14:07:47