下载此文档

继承与多态.pptx


文档分类:IT计算机 | 页数:约106页 举报非法文档有奖
1/106
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/106 下载此文档
文档列表 文档介绍
第05章继承与多态
-2-
本章内容安排
继承概览
继承方式
构造与析构
多重继承
多态概述
虚函数与运行时多态
雇员管理系统版本4(多态实现)
-3-
1、面向对象中的继承和派生
继承和派生:一个新类可以从现有的类继承特征(属性和方法);从现有的类产生新类的过程称为派生。
现有的用来派生新类的类称为基类或父类,派生出来的类称为派生类或子类。
派生类可以作为基类继续派生新的类,从而形成类的层次结构。
-4-
继承的层次结构
食品
水果
蔬菜
苹果
香蕉
红苹果
青苹果
下层具有上层的特征,同时加入自己的特征。每层比上层更具体,符合人类认识世界的规律。
-5-
2、派生类的定义
class 派生类名: 继承方式基类名
{
private:
成员声明列表
protected:
成员声明列表
public:
成员声明列表
};
派生类新增的成员
-6-
派生类的定义
继承方式
public:公有继承
private:私有继承
protected:保护继承
通常在派生类类体中列出新增的数据成员和成员函数(个性),基类的成员将自动成为派生类的成员(共性),不用重复编写。
-7-
3、派生类示例:基类
class Point
{
double x,y;
public:
Point(){ x=0; y=0; }
Point( double a, double b) { x=a; y=b; }
void setXY( double a, double b) { x=a; y=b; }
double getX() { return x; }
double getY() { return y; }
};
-8-
派生类示例:派生类
class Circle : public Point
{
double radius;
public:
Circle() { radius=0; }
Circle( double a, double b,double r):Point(a,b)
{ radius=r; }
void setR(double r) { radius=r; }
double getR() { return radius; }
};
初始化从基类继承得来的成员
-9-
派生类示例:main
int main()
{
Circle c(3,4,5);
cout<<()<<endl;
cout<<()<<endl;
cout<<()<<endl;
return 0;
}
-10-
派生类示例说明
派生类构造函数必须提供初始化从基类继承来的数据成员的机制
Circle::Circle(double a, double b,double r ):Point(a,b)
{
radius=r;
}
公有派生类对象,可以访问基类的公有成员,就像访问本类的公有成员函数一样。
若不提供,调用无参构造函数

继承与多态 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息