点击这里给我发消息 点击这里给我发消息

深入剖析C#继承机制 C#中的继承符合下列规则

添加时间:2013-12-7
    相关阅读: 程序 C#
 

1、继承是可传递的。如果C从B中派生,B又从A中派生,那么C不仅继承了B中声明的成员,同样也继承了A中的成员。Object 类作为所有类的基类。

2、派生类应当是对基类的扩展。派生类可以添加新的成员,但不能除去已经继承的成员的定义。

3、构造函数和析构函数不能被继承。除此以外的其它成员,不论对它们定义了怎样的访问方式,都能被继承。基类中成员的访问方式只能决定派生类能否访问它们。

4、派生类如果定义了与继承而来的成员同名的新成员,就可以覆盖已继承的成员。但这并不因为这派生类删除了这些成员,只是不能再访问这些成员。

5、类可以定义虚方法、虚属性以及虚索引指示器,它的派生类能够重载这些成员,从而实现类可以展示出多态性。

6、派生类只能从一个类中继承,可以通过接吕实现多重继承。

下面的代码是一个子类继承父类的例子:
 
using System ;
public class ParentClass
{
public ParentClass( )
{ Console.WriteLine("父类构造函数。"); }
public void print( )
{ Console.WriteLine("I'm a Parent Class。") ; }
}
public class ChildClass : ParentClass
{
public ChildClass( )
{ Console.WriteLine("子类构造函数。") ; }
public static void Main( ) {
ChildClass child = new ChildClass( ) ;
child.print( ) ;
}

程序运行输出:

父类构造函数。子类构造函数。I'm a Parent Class。

上面的一个类名为ParentClass, main函数中用到的类名为ChildClass。要做的是创建一个使用父类ParentClass现有代码的子类ChildClass。

1.首先必须说明ParentClass是ChildClass的基类。

这是通过在ChildClass类中作出如下说明来完成的:"public class ChildClass : ParentClass"。在派生类标识符后面,用分号":" 来表明后面的标识符是基类。C#仅支持单一继承。因此,你只能指定一个基类。

2.ChildClass的功能几乎等同于ParentClass。

因此,也可以说ChildClass "就是" ParentClass。在ChildClass 的Main( )方法中,调用print( ) 方法的结果,就验证这一点。该子类并没有自己的print( )方法,它使用了ParentClass中的 print( )方法。在输出结果中的第三行可以得到验证。

3.基类在派生类初始化之前自动进行初始化。ParentClass 类的构造函数在ChildClass的构造函数之前执行。

咨询热线:020-85648757 85648755 85648616 0755-27912581 客服:020-85648756 0755-27912581 业务传真:020-32579052
广州市网景网络科技有限公司 Copyright◎2003-2008 Veelink.com. All Rights Reserved.
广州商务地址:广东省广州市黄埔大道中203号(海景园区)海景花园C栋501室
= 深圳商务地址:深圳市宝源路华丰宝源大厦606
研发中心:广东广州市天河软件园海景园区 粤ICP备05103322号 工商注册