杭州电子科技大学 本章主要内容: 抽象性:类和对象 封装性:数据和方法 继承性:类的派生 多态性:虚函数,重载,模板 3.1 面向对象程序设计概述 结构化程序设计的特点: 什么是类: 面向对象程序设计的特点: 面向对象程序设计的特点: 一个简单例子: 3.2 C++类 3.3 类的继承 继承是面向对象程序设计方法的四个基本特征之一,是程序代码可重用性的具体体现。 在C++面向对象程序设计中,所谓类的继承就是利用现有的类创建一个新的类。新类继承了现有类的属性和行为。 为了使新类具有自己所需的功能,它可以扩充和完善现有类的属性和行为,使之更具体。 微软基础类MFC就是通过类的继承来体现类的可重用性和可扩充性。 3.3.1 基类和派生类 在现实世界中,一类事物的对象常常也属于另一类事物。 在面向对象程序设计方法中,一个类的对象也常常是另一个类的对象,即一个类具有了另一个类的属性和方法。 在定义一个类时,根据类的继承性,我们能够且应尽可能地利用现有的类来定制新的类,而不必重新设计新的类。 在继承关系中,新定义的类称为被继承类的派生类或子类,而被继承的类称为新定义类的基类或父类。派生类继承了基类的所有成员。 一个派生类也可以作为另一个派生类的基类。 派生方式决定了基类的成员在派生类中的访问权限。派生方式共有三种:public、private和protected(缺省值为private)。 虽然派生类继承了基类的所有成员,但为了不破坏基类的封装性,无论采用哪种派生方式,基类的私有成员在派生类中都是不可见的,即不允许在派生类的成员函数中访问基类的私有成员。 采用public派生,基类成员的访问权限在派生类中保持不变,即基类所有的公有或保护成员在派生类中仍为公有或保护成员。public派生最常用。 (1) 可以在派生类的成员函数中访问基类的非私有成员; (2) 可通过派生类的对象直接访问基类的公有成员。 采用private私有派生,基类所有的公有和保护成员在派生类中都成为私有成员,只允许在派生类的成员函数中访问基类的非私有成员。private派生很少使用。 采用protected保护派生,基类所有的公有和保护成员在派生类中都成为保护成员,只允许在派生类的成员函数和该派生类的派生类的成员函数中访问基类的非私有成员。 例 定义类Point,然后定义类Point的派生类Circle。 #include iostream.h class Point // 定义基类,表示点 { private: int x; int y; public: void setPoint(int a, int b) { x = a; y = b; }; // 设置坐标 int getX( ) { return x; }; // 取得X坐标 int getY( ) { return y; }; // 取得Y坐标 }; class Circle : public Point // 定义派生类,表示圆 { private: int radius; public: void setRadius(int r) { radius = r; }; // 设置半径 int getRadius( ) { return radius; }; // 取得半径 int getUpperLeftX( ) { return getX() - radius; }; // 取得外接正方形左上角的X坐标 int getUpperLeftY( ) { return getY() + radius; }; // 取得外接正方形左上角的Y坐标 }; 程序运行结果:X=200,Y=250,Radius=100UpperLeft X=100,UpperLeft Y=350 main( ) { Circle c; c.setPoint(200, 250); c.setRadius(100); coutX=c.getX( ), Y=c.getY( ) , Radius=c.getRadius()endl; coutUpperLeft X=c.getUpperLeftX( ) , UpperLeft Y=c.getUpperLeftY( )endl; } 派生类Circle通过public派生方式继承了
您可能关注的文档
最近下载
- 求职简历模板免费下载-简历模板免费下载-word.docx VIP
- 2024年医院行风建设总结.pdf VIP
- FR 6011 说明书.pdf VIP
- 2025年中考物理总复习:压强(讲义)解析版.pdf VIP
- 酸碱盐-初升高化学知识复习讲义(人教版).pdf VIP
- 农业开发生态养鸡项目实施方案(有全套附表附图).doc VIP
- 劳动合同范本(2026年通用版,带试用期条款).docx VIP
- 医疗器械软件注册审查指导原则(2022年修订版)20220309.pdf VIP
- 老电影收藏1(1949—1966).doc VIP
- 西南18J517_厨房_卫生间_浴室设施_标准图集.pdf VIP
原创力文档

文档评论(0)