在C#中,你可以继承多少个类?
当你写:
using System.Web.UI;
是否被认为是继承自一个类?
答案 0 :(得分:7)
使用指令:
using X.Y.Z;
仅表示如果标识符不在本地名称空间中,则还将搜索名称空间X.Y.Z
以查找该标识符。这使您可以拥有一些更简洁的代码,因此,如果您拥有System.IO.Path.Combine()
,则不必执行using System.IO.Path
。我不相信你可以有多少using
个陈述有限制。
C#不允许多重继承 - 您只能从一个类继承。但是,您可以根据需要实现任意数量的接口。
答案 1 :(得分:7)
没有
using
directive允许您在向代码添加控件或类时不必键入完全限定的命名空间。
例如,如果我添加:
using System.Web.UI;
然后我可以简单地写一下:
Page.Something
而不是:
System.Web.UI.Page.Something
<强>继承强>
您只能inherit from one class,但可以根据需要实施尽可能多的Interfaces。
如果我的所有页面都从基类继承,那么该基类将需要从Page
类继承,以便它可以做任何好事。
答案 2 :(得分:3)
您只能从一个类继承。
使用System.Web.UI'编写'与继承无关。 此语句只是意味着您要“使用”命名空间System.Web.UI中的类,以便您可以直接编写类名,而不是使用命名空间名称作为前缀。
答案 3 :(得分:1)
没有
using
使外部定义的类可见class Cat : Animal
定义从Pet
Animal
醇>
与C ++不同,C#不支持多重继承,因此您只能从一个类派生它(但是,您可以实现任意数量的接口)
答案 4 :(得分:1)
我想在Jen的答案中添加一个附录。说C#不支持多重继承是正确的,但知道你可以通过忽略CLS(命令语言子系统)在.NET中实现多重继承是有用的。这是令人讨厌的工作,并且涉及到你自己的vtable,但它是可能的。