计算机程序设计基础_精讲多练cc++_第7章

上传人:mg****85 文档编号:50722647 上传时间:2018-08-10 格式:PPT 页数:57 大小:1.19MB
返回 下载 相关 举报
计算机程序设计基础_精讲多练cc++_第7章_第1页
第1页 / 共57页
计算机程序设计基础_精讲多练cc++_第7章_第2页
第2页 / 共57页
计算机程序设计基础_精讲多练cc++_第7章_第3页
第3页 / 共57页
计算机程序设计基础_精讲多练cc++_第7章_第4页
第4页 / 共57页
计算机程序设计基础_精讲多练cc++_第7章_第5页
第5页 / 共57页
点击查看更多>>
资源描述

《计算机程序设计基础_精讲多练cc++_第7章》由会员分享,可在线阅读,更多相关《计算机程序设计基础_精讲多练cc++_第7章(57页珍藏版)》请在金锄头文库上搜索。

1、1第七章 类与对象2教学目标l(1) 理解以类与对象为核心的面向对象程序设计的基本思想,包括封装、继承和多态性的概念及其在面向对象程序中的体现;l(2) 掌握类的定义方法;l(3) 掌握类成员的访问权限控制;l(4) 掌握对象的创建与使用方法;l(5) 了解构造函数与析构函数的定义与使用。l(6) 了解类的继承与派生、运算符重载、以及模板等概念。3基本内容 l7.1 面向对象程序设计概述l7.2 类与对象l7.3 继承47.1 面向对象程序设计概述l两种程序设计思想:l面向过程的程序设计(Structure Programming)l以功能为中心,采用函数来描述操作(动词)l面向对象程序设计(

2、Object Oriented Programming)l以数据为中心,采用对象来描述内部属性和操 作方法(名词)5对象和面向对象l客观世界实体l例:人类l静态特征(属性attribute)l姓名、性别、年龄、班级(/单位)、身高等l动态特征(行为behavior) l吃饭、睡觉、说话、走路、上课(/上班)等l例:汽车l静态特征(属性attribute)l品牌、生产厂、型号、颜色等l动态特征(行为behavior) l行驶、转弯、鸣笛、刹车等6面向对象的基本特征l抽象:数据抽象+代码抽象l封装:过程和数据封藏起来l继承:基类和派生类l多态性:虚函数、函数重载7OOP的优点l开发时间短,效率高,

3、可靠性高,所开发 的程序更强壮重用,共享,可维护性,精简l适合于大程序长时间的开发工作87.2 类与对象l7.2.1 类的定义l7.2.2 成员函数l7.2.3 对象的使用l7.2.4 构造函数与析构函数9类(Class) -数据类型l类是具有相同属性和相同的方法的对象的集合,它是一种既包含数据又包含函数的抽象数据类型。l类的构成l数据成员(Data Member),即类的属性;l成员函数(Member Function),即类的方法;107.2.1 类的定义class 类名 private:/私有成员私有的数据成员和成员函数; protected:/保护成员保护的数据成员和成员函数; pub

4、lic:/公有成员公有的数据成员和成员函数; ;11访问控制权限 l私有部分(private):数据成员和成员函数只 能在该类的范围内被本类的成员函数访问体 现类的封装性 l保护部分(protected):与私有成员的性质相 似l公有部分(public):成员既可以被本类的成员 函数访问,也在类外被该类的对象访问对外 界的接口 12例:定义一个狗类(Dog)class Dog private: char name20;/ 狗的名字 intage;/ 狗的年龄 public: voidset(char *n, int a);/ 设置数据成员值 的函数 voiddisplay();/ 输出数据成员

5、值 的函数 voidspeak();/ 发出狗叫声的函 数 ;137.2.2 成员函数l成员函数的一般形式:函数类型 类名 : 函数名 ( 参数表 ) 函数体 14类的作用域 l一个类的所有数据成员和成员函数都在该类的作用域内 (包括在类声明外部定义的成员函数)l类中的每个成员都可以直接访问本类中的其他任何成员 。l如果在类作用域之外对该类的数据成员和成员函数进行 访问,则要受到一定的限制,有时甚至是不允许的。15例:Dog类成员函数的定义void Dog:set(char *n, int a) strcpy(name,n); age = a; void Dog:display() cout

6、运算符19例7-1: Dog类和对象int main() char name020; int age0; Dog dog1, dog2; cout name0 age0; dog1.set (name0, age0); cout #include using namespace std;class Person/人员类定义char Name10;/姓名intAge;/年龄public:void Set(char *name, int age) /设置数据成员strcpy(Name, name);Age = age;void Display()cout #include using namesp

7、ace std; class Person/人员类定义 char Name10; intAge; public: Person(char* name,int age)/构造函数 strcpy(Name, name); Age = age; cout”和“ using namespace std; class Animal /基类:动物类 public: virtual void Speak() cout class 类名 ;53/ 例7-7 类模板的使用 #include using namespace std; template class AnyType Tx; public: AnyTy

8、pe(T a)x=a; T GetX()return x; ; int main() AnyType i (5); AnyType d (3.14); AnyType c (a); cout “整型类:“ i.GetX() endl; cout “双精度类:“ d.GetX() endl; cout “字符类:“ c.GetX() endl; return 0; 54上机指导l7.6 使用ClassView标签55应用举例l例7-8设计一个时间类,要求能够设置 时间、进行时间的加减运算,并以一定格 式显示时间。l例7-9编写教师信息管理程序,实现显 示教师信息、增加教师信息、删除教师信 息等功能。56学好程序设计语言的唯一途径是你的编程能力与你在计算机上投入的时间成结 束 语57

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号