黑马程序员技术交流社区

标题: 是否所有的C#类型都派生于一个公共的基类? [打印本页]

作者: hongiqnglik    时间: 2013-8-5 21:01
标题: 是否所有的C#类型都派生于一个公共的基类?
是否所有的C#类型都派生于一个公共的基类?
作者: 274997322    时间: 2013-8-5 21:14
妥妥的 都派生自Object类
作者: 范国伟    时间: 2013-8-5 21:52
Object类 万类之源
作者: 念念念念_、    时间: 2013-8-5 22:26
是,也不是,所有的对象都可以看作从Object(System.Object)派生而来。但是为了把像int,float这样的值类型实例看作是从Object对象派生的,这个实例必须通过一个装箱的
操作(boxing)转化为引用类型。理论上,开发者可以忽略这些底层的转化,但是认识到这点对于系统性能影响很重要。
作者: wang100753    时间: 2013-8-5 23:58
在C#中只能有一个基类,如果继承了个抽象类,就必须执行所继承的所有抽象成员(除非派生类也是抽象的)
编译器不允许派生类的可访问性比其基类更高
即内部类可以继承于一个公共类,但公共类不能继承于一个内部类
如果没有指定基类,那么被定义的类继承自System.Object

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


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

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







欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2