面向对象编程:继承概念与应用.pptxVIP

  • 0
  • 0
  • 约2.9万字
  • 约 34页
  • 2026-01-28 发布于北京
  • 举报

1面向对象编程:继承

2学习目标通过继承现有类来创建新类基类和派生类的概念及两者之间的关系protected成员访问说明符继承层次中构造函数和析构函数的用法继承层次中构造函数和析构函数的调用顺序public、protected和private继承的差异使用继承定制软件

3简介面向对象编程的一个关键特征:继承(inheritance)继承是软件重用的一种方式吸收现有的类的数据和行为来创建新类增添新的性能增强新类现有类为基类,新类为派生类三种继承:公有(public)、受保护(protected)、私有(private)在public继承中,每个派生类的对象同时也是基类的对象,反之不然

4简介“是一个(is-a)”vs.“有一个(has-a)”is-a存在于继承中,表示派生类的对象都可以看作是基类的对象has-a存在于组成中,一个类作为另一个类的数据成员

5简介基类的private成员不能被其派生类直接访问,但private基类成员仍得到了继承。基类中不希望被派生类成员函数访问的成员应该在基类中声明为private。派生类可以通过继承到派生类中的非private成员函数改变基类的private成员。

6基类和派生类继承定义语句:classTwoDimensionalShape:publicShape友元函数是不能被继承的。由共同基类派生出的所有类的对象均可视为这个基类的对象

7protected成员基类的public成员在它自己的体内是可以访问的,而且在程序中凡是出现该基类或其派生类的对象句柄处也是可以访问的。基类的private成员只能在此基类及友元函数中访问。基类的protected成员可以在基类体内被基类的成员和友元访问,也可以由基类所派生出的任何类的成员和友元访问。派生类的成员函数直接使用成员名来引用基类的public和protected成员。

8基类和派生类之间的关系创建并使用类CommisionEmployee//Fig.12.4:CommissionEmployee.h//CommissionEmployeeclassdefinition//representsacommissionemployee.#ifndefCOMMISSION_H#defineCOMMISSION_H#includestring//C++standardstringclassusingstd::string;classCommissionEmployee{public:CommissionEmployee(conststring,conststring,conststring,double=0.0,double=0.0);voidsetFirstName(conststring);//setfirstnamestringgetFirstName()const;//returnfirstnamevoidsetLastName(conststring);//setlastnamestringgetLastName()const;//returnlastnamevoidsetSocialSecurityNumber(conststring);//setSSNstringgetSocialSecurityNumber()const;//returnSSNvoidsetGrossSales(double);//setgrosssalesamount//returngrosssalesamountdoublegetGrossSales()const;//setcommissionrate(percentage)voidsetCommissionRate(double);//returncommissionratedoublegetCommissionRate()const;doubleearnings()const;//calculateearningsvoidprint()const;//printCommissionEmployeeobjectprivate:stringfirstName;stringlastName;stringsocialSecurityNumber;doublegrossSales;//grossweeklysales

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档