继承就是在类之间建立一种相交关系,使得新定义的派生类的实例可以继承已有的基类的特征和能力 内容导航 一、继承基础知识 二、C#的继承规则 三
访问与隐藏基类成员 四、多级继承 五、继承与访问修饰符 一
继承基础知识 为了提高软件模块的可复用性和可扩充性,以便提高软件的开发效率,我们总是希望能够利用前人或自己以前的开发成果,同时又希望在自己的开发过程中能够有足够的灵活性,不拘泥于复用的模块
C#这种完全面向对象的程序设计语言提供了两个重要的特性--继承性 inheritance 和多态性poly morphism
继承是面向对象程序设计的主要特征之一,它可以让您重用代码,可以节省程序设计的时间
继承就是在类之间建立一种相交关系,使得新定义的派生类的实例可以继承已有的基类的特征和能力,而且可以加入新的特性或者是修改已有的特性建立起类的新层次
现实世界中的许多实体之间不是相互孤立的,它们往往具有共同的特征也存在内在的差别
人们可以采用层次结构来描述这些实体之间的相似之处和不同之处
图 1 类图 上图反映了交通工具类的派生关系
最高层的实体往往具有最一般最普遍的特征,越下层的事物越具体,并且下层包含了上层的特征
它们之间的关系是基类与派生类之间的关系
为了用软件语言对现实世界中的层次结构进行模型化,面向对象的程序设计技术引入了继承的概念
一个类从另一个类派生出来时,派生类从基类那里继承特性
派生类也可以作为其它类的基类
从一个基类派生出来的多层类形成了类的层次结构
注意:C#中,派生类只能从一个类中继承
这是因为,在C++中,人们在大多数情况下不需要一个从多个类中派生的类
从多个基类中派生一个类这往往会带来许多问题,从而抵消了这种灵活性带来的优势
C#中,派生类从它的直接基类中继承成员:方法、域、属性、事件、索引指示器
除了构造函数和析构函数,派生类隐式地继承了直接