NET中的多重继承 你认为.NET有多重继承吗?为什么?

NET中的多重继承 你认为.NET有多重继承吗?为什么?,.net,.net,是的,我知道从定义上讲,它不是,但我有不止一个人认为,因为你可以继承多于一个接口。我知道这是一个非常主观的问题(因此标签),但我希望能得到更多的意见 编辑我不是问你们是否认为它应该有多重继承,我也不是说你们继承了接口。在我的问题中,我想表达的是,我听到一些人提出了不同的观点,我只是想得到更多的意见。我完全希望99%的答案是“否”,但正如我所说,我需要更多的输入。“接口”不是继承的,而是指定您必须实现什么才能正确实现接口定义。继承意味着行为上可能发生的变化——父类定义了某些东西,子类扩展了这些东西

是的,我知道从定义上讲,它不是,但我有不止一个人认为,因为你可以继承多于一个接口。我知道这是一个非常主观的问题(因此标签),但我希望能得到更多的意见

编辑我不是问你们是否认为它应该有多重继承,我也不是说你们继承了接口。在我的问题中,我想表达的是,我听到一些人提出了不同的观点,我只是想得到更多的意见。我完全希望99%的答案是“否”,但正如我所说,我需要更多的输入。

“接口”不是继承的,而是指定您必须实现什么才能正确实现接口定义。继承意味着行为上可能发生的变化——父类定义了某些东西,子类扩展了这些东西

NET允许您在父类列表(冒号的右侧)中有一个类,因此支持单一继承,但您可以自由实现任意多个接口


另外,我不同意“主观”标签,在.NET中,允许单一继承的设计决策绝对没有主观因素。

在.NET(或至少是C#)的设计者决定不包括多重继承。如果你说它确实包含了多重继承,你必须改变多重继承的定义,在这一点上你几乎可以说任何东西都包含多重继承。

多重接口不是多重继承。接口不是继承的,而是实现的


区别在于接口只提供一组公共的方法和属性,这些方法和属性定义了调用代码和实现类之间的契约。继承更多的是扩展现有类或更改后台实现。

VB.NET关键字为“extends”和“implements”是有原因的+1. =)Ehr。继承。不扩展。=)你打了我,但该死的,反正我会回答的@达斯-欢迎有不同的观点,即使它们在很大程度上是一致的。这取决于你对继承的定义。许多人认为多重继承仅仅意味着;可以是多种类型的对象。根据这个定义,C#具有多重继承性。一个更传统的定义是继承意味着您可以形成一个新的类,它是一个已经存在的类的扩展。在这种情况下,C#不支持多重继承,因为它只能扩展一个现有类,而不能扩展多个。