一、面向对象程序设计的4个主要特点 抽象、封装、继承和多态性 继承 在已有类的基础上建立一个新类的过程称为继承 被继承的已有类称为基类(父类) 派生 在已有类的基础上新增自己的特性而产生新类的过程称为派生 派生出的新类称为派生类(子类) 二、继承与派生的概念 基类综合了派生类的公共特征,派生类则在基类的基础上增加某些特性 基类是派生类的抽象,派生类是基类的具体化 继承与派生的目的:实现代码的重用 三、派生类的继承方式 (1)公有继承 在定义一个派生类时将基类的继承方式指定为public的,称为公有继承 用公有继承方式建立的派生类称为公有派生类,其基类称为公有基类 采用公有继承方式时,基类的public和PRotected成员的访问属性在派生类中保持不变,但基类的private成员成为派生类中的不可直接访问成员 派生类的对象可以访问基类的公有成员 (2)私有继承 在定义一个派生类时将基类的继承方式指定为private的,称为私有继承 用私有继承方式建立的派生类称为私有派生类,其基类称为私有基类 采用私有继承方式时,基类的public和protected成员的访问属性都相当于派生类的私有成员,基类的private成员成为派生类中的不可直接访问成员 派生类的对象不可以访问基类的公有成员 (3)保护继承 在定义一个派生类时将基类的继承方式指定为protected的,称为保护继承 用保护继承方式建立的派生类称为保护派生类,其基类称为保护基类 采用保护继承方式时,基类的public和protected成员都成为派生类中的保护成员,基类的private成员成为派生类中的不可直接访问成员 保护成员:不能被类外访问,但可以被派生类的成员访问,既实现了数据隐藏,又方便继承,实现代码重用 派生类的对象不可以访问基类的公有成员 四、派生类的继承方式 在派生类中,成员有4种访问属性 公有的,派生类内和派生类外都可以访问,在其下一层公有派生类中可以访问 受保护的,派生类内可以访问,派生类外不能访问,在其下一层公有派生类中可以访问 私有的,派生类内可以访问,派生类外不能访问,在其下一层公有派生类中不可以访问 不可访问的,派生类内和派生类外都不能访问,在其下一层派生类中不可以访问 五、派生类的构造函数和析构函数 基类的构造函数不被继承,因此,对继承过来的基类成员初始化的工作也要由派生类的构造函数承担。 在派生类中声明构造函数时,只需要对本类中新增成员进行初始化,对继承来的基类成员的初始化,调用基类构造函数完成 派生类的构造函数需要给基类的构造函数传递参数 六、简单派生类的构造函数 在建立一个对象时执行构造函数的顺序 派生类构造函数先调用基类构造函数,再执行派生类构造函数本身 派生类对象释放时,析构函数的调用顺序 先执行派生类析构函数,再执行基类析构函数 七、有子对象的派生类的构造 子对象:类的数据成员中包含的类的对象 派生类构造函数的任务 对基类数据成员的初始化 对子对象数据成员的初始化 对派生类数据成员的初始化 派生类构造函数的一般形式 派生类构造函数名(总参数表列):基类构造函数名(参数表列), 子对象名(参数表列) {派生类中新增数据成员的初始化;} 八、
新闻热点
疑难解答