A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

是否所有的C#类型都派生于一个公共的基类?

4 个回复

倒序浏览
妥妥的 都派生自Object类
回复 使用道具 举报
Object类 万类之源
回复 使用道具 举报
是,也不是,所有的对象都可以看作从Object(System.Object)派生而来。但是为了把像int,float这样的值类型实例看作是从Object对象派生的,这个实例必须通过一个装箱的
操作(boxing)转化为引用类型。理论上,开发者可以忽略这些底层的转化,但是认识到这点对于系统性能影响很重要。
回复 使用道具 举报
在C#中只能有一个基类,如果继承了个抽象类,就必须执行所继承的所有抽象成员(除非派生类也是抽象的)
编译器不允许派生类的可访问性比其基类更高
即内部类可以继承于一个公共类,但公共类不能继承于一个内部类
如果没有指定基类,那么被定义的类继承自System.Object

还可以在冒号后面指定支持的接口
如果指定了基类,冒号后面跟着基类名,再接着一个或多个指定的接口,之间用逗号分割


例如:
给MyClass指定一个接口:
public class MyClass : IMyInterface
{
   // Class members.
}

给MyClass指定基类和接口:
public class MyClass : MyBase, IMyInterface
{
   // Class members.
}


回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马