C#继承的特性

C#继承的特性

面向对象的程序设计技术引入了继承的概念。一个类从另一个类派生出来时,派生类从基类那里继承特性。C#中,派生类从它的直接基类中继承成员:方法、域、属性、事件、索引指示器。除了构造函数和析构函数,派生类隐式地继承了直接基类的所有成员。

一、继承的传递性

派生类从基类那里继承特性。派生类也可以作为其它类的基类。从一个基类派生出来的多层类形成了类的层次结构。就像现在中爷爷,爸爸和儿子的关系。儿子不仅可以访问父类爸爸的所有公有属性方法,也可以访问爷爷的所有公有属性和方法,这种关系称为继承传递性。

二、继承的单一性

继承的单一性是指子类只能继承一个父类,不能同时继承多个父类。C#中,派生类只能从一个类中继承。C#不支持多重继承,也就是说,儿子只能有一个亲生父亲,不能同时拥有多个亲生父亲。C#中使用接口技术实现多重继承。

三、C#中的继承符合下列规则:

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

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

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

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

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

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

posted on 2012-06-27 09:05  流星落  阅读(3044)  评论(0编辑  收藏  举报

导航