4.6继承
继承是面向对象的三大特性之一
有时候类与类之间存在一些特殊的关系,如:动物包含猫和狗,猫又分为布偶、加菲猫等,狗又分为金毛、柴犬等
在定义这些类时,下级别的成员除了拥有上一级的共性,还有自己的特性。这时候就可以用继承的技术。
4.6.1继承的基本语法
公共类:class B{(公共特性)};
下级类:class A{(公共特性)+(下级类特性)};
继承语法: class A : 继承方式 B { (下级类的特性) };
class 子类 :继承方式 父类
子类也称派生类;父类也称基类
派生类中的成员,包含两大部分:
一类是从基类继承过来的,一类是自己增加的成员。
从基类继承过来的表现其共性,而新增的成员体现了其特性。
继承好处:减少重复代码
4.6.2继承方式
继承语法: class 子类 :继承方式 父类
继承方式一共有三种:
1)公共继承;2)保护继承;3)私有继承
父类: (其中私有内容,子类不可继承)
class A
{
public:
int a;
protected:
int b;
private:
int c;
};
公有继承: (父类中内容权限,到子类中内容权限不改变)
class B : public A
{
public:
int a;
protected:
int b;
不可访问:
int c;
};
保护继承:(父类中公共权限内容,到子类中变为保护权限内容)
class B : protected A
{
protected:
int a;
int b;
不可访问:
int c;
};
私有继承:(父类中公共权限和保护权限内容,到子类中都变为私有权限)
class B : private A
{
private:
int a;
int b;
不可访问:
int c;
};