2011-03-09 2 views
0

Nous savons que toutes les classes sont héritées de la classe d'objets dans .net. Disons que nous créons une classe nommée ClassA. Ensuite, nous créons une autre classe nommée ClassB héritée de ClassA. N'est-ce pas un héritage multiple, car ClassB hérite à la fois de la classe Object et ClassA? Cela ne rompt-il pas la règle selon laquelle C# .net ne supporte pas l'héritage multiple?Doutes sur l'héritage multiple dans .net

+0

Et quelle est votre question? De plus, ce n'est pas un contre-exemple, ClassB hérite de ClassA, qui à son tour hérite de Object. ClassA n'hérite pas directement de l'objet. – markijbema

+0

Veuillez poser une question si vous en avez une. – Gabe

+0

Votre exemple montre la hiérarchie d'héritage, pas l'héritage multiple. L'héritage multiple est lorsque ClassC hérite de ClassB et ClassA. Vous ne pouvez tout simplement pas le faire de toute façon dans .NET car MI n'est pas supporté. –

Répondre

1

Non, vous ne cassez pas la règle. Puisque ClassA est un objet, cela ne signifie pas que vous héritez de 2 classes différentes. Vous héritez de ClassA, et prenez ainsi toutes les caractéristiques de la «chaîne d'héritage».
Vous n'héritez pas de 2 types différents, puisque ClassA est un objet.

3

Vous ne comprenez pas ce qu'est l'héritage multiple. From wikipedia:

L'héritage multiple fait référence à une caractéristique de certains langages de programmation orientés objet dans lesquels une classe peut hériter des comportements et des caractéristiques de plus d'une super-classe.

De l'entrée de wikipedia sur superclasse:

A superclasse, classe de base ou classe parente est une classe à partir de laquelle d'autres classes sont dérivées. Les classes dérivées d'une superclasse sont appelées classes enfant, classes dérivées ou sous-classes.

Dans votre exemple, ClassA hérite de l'objet. ClassB hérite de ClassA. ClassA est la superclasse de ClassB. L'objet n'est pas une superclasse de ClassB. Votre exemple n'est pas l'héritage multiple. Il y a un parent, un enfant.