2011-03-09 46 views
0

我们知道所有的类都是从.net中的对象类继承而来的。假设我们创建了一个名为ClassA的类。然后我们创建另一个类ClassB,继承自ClassA。这不是多重继承,因为ClassB继承了Object类和ClassA吗?这是否违反了C#.net不支持多继承的规则?.net中多重继承的疑问

+0

你的问题是什么?此外,它不是反例,ClassB继承自ClassA,它继承自Object。 ClassA不会直接从Object继承。 – markijbema 2011-03-09 10:56:48

+0

如果您有问题,请提出问题。 – Gabe 2011-03-09 11:05:35

+0

你的例子显示了继承层次结构,而不是多重继承。多重继承是ClassC从ClassB和ClassA继承的时候。因为MI不被支持,所以你无法在.NET中完成此操作。 – 2011-03-09 11:13:28

回答

1

不,你不打破规则。由于ClassA是一个对象,它并不意味着你从两个不同的类继承。你继承了ClassA,从而从“继承链”中获得了它的所有特征。
由于ClassA是一个对象,因此您不是继承2种不同的类型。

3

你不明白什么是多重继承。来自维基百科:

多继承是指一些面向对象的编程语言的一个特性,其中一个类可以继承多个超类的行为和特征。

维基百科对超类项:

父类,基类,或父类是其他类中派生的类。从超类派生的类称为子类,派生类或子类。

在你的例子中,ClassA继承自object。 ClassB从ClassA继承。 ClassA是ClassB的超类。对象不是ClassB的超类。你的例子不是多重继承。有一位家长,一位孩子。