基类
在面向对象设计中,被定义为包含所有实体共性的class类型
在面向对象设计中,被定义为包含所有实体共性的class类型,被称为“基类”。
定义
继承性是面向对象程序设计的一个最重要的概念。继承性允许在构成软件系统的层次结构中利用已经存在的类并扩充它们,以支持新的功能。这使得编程者只需要在新类中定义已经存在的类中所没有的成分来建立新类,从而大大提高了软件的可重用性和可维护性。
对于客观世界中既有共性又有差别的两个类别以上的实体是不可能被抽象成一个class类型来描述的,编程者往往采用继承的方法。首先定义一个包含所有实体共性的class类型作为“基类”,然后,从该基类中继承所有信息,再添加新的信息,来构成新的类。
在构建新类的过程中,新建立的类被称为“子类”或者“派生类”;而被继承的包含相同特征的类称为“父类”或者“基类”。派生类继承了基类的全部成员,并且可以增加基类所没有的数据成员和成员函数,以满足描述新对象的需求。
相关关系
1.基类,父类,超类是指被继承的类,派生类,子类是指继承于基类的类.
2.在C++中使用:冒号表示继承,如class A:public B;表示派生类A从基类B继承而来
3.派生类包含基类的所有成员,而且还包括自己特有的成员,派生类和派生类对象访问基类中的成员就像访问自己的成员一样,可以直接使用,不需加任何操作符,但派生类仍然无法访问基类中的私有成员.
4.在C++中派生类可以同时从多个基类继承,Java不允许这种多重继承,当继承多个基类时,使用逗号将基类隔开.
5.基类访问控制符,class A:public B 基类以公有方式被继承,A:private B 基类以私有方式被继承,A:protected B 基类以受保护方式被继承,如果没有访问控制符则默认为私有继承
6.protected 受保护的访问权限;使用protected 保护权限表明这个成员是私有的,但在派生类中可以访问基类中的受保护成员。派生类的对象就不能访问受保护的成员了。
7.如果基类以public 公有方式被继承,则基类的所有公有成员都会成为派生类的公有成员.受保护的基类成员成为派生类的受保护成员.
8.如果基类以private 私有被继承,则基类的所有公有成员都会成为派生类的私有成员.基类的受保护成员成为派生类的私有成员.
9.如果基类以protected 受保护方式被继承,那么基类的所有公有和受保护成员都会变成派生类的受保护成员。
10.不管基类以何种方式被继承,基类的私有成员,仍然保有其私有性,被派生的子类不能访问基类的私有成员。
举例
继承过程将创建一个新的派生类,它由基类的成员加上派生类添加的任何新成员组成。 在多重继承中,可以构建一个继承关系图,其中相同的基类是多个派生类的一部分。 图1显示了此类关系图。
在图1中,显示了CollectibleString和CollectibleSortable的组件的图形化表示形式。 但是,基类Collectible位于通过CollectibleSortableString路径和CollectibleString路径的CollectibleSortable中。 若要消除此冗余,可以在继承此类类时将其声明为虚拟基类。
参考资料
最新修订时间:2023-11-17 22:49
目录
概述
定义
参考资料