资源预览内容
第1页 / 共58页
第2页 / 共58页
第3页 / 共58页
第4页 / 共58页
第5页 / 共58页
第6页 / 共58页
第7页 / 共58页
第8页 / 共58页
第9页 / 共58页
第10页 / 共58页
亲,该文档总共58页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
+程序设计,第二章,中国石油大学计算机系2011.4,第2章 类和对象,2.1 面向对象程序设计方法概述2.2 类的声明和对象的定义2.3 类的成员函数2.4 对象成员的引用(调用)2.5 类和对象的简单应用2.6 类的封闭性和信息隐蔽,2.1.1 什么是面向对象的程序设计2.1.2 面向对象程序设计的特点2.1.3 类和对象作用2.1.4 面向对象的软件开发,2.1面向对象程序设计方法概述,2.1.1什么是面向对象的程序设计,设计的思路: 把一个复杂的事物分解成若干个简单部分(对象),并使这些简单部分协同工作。 举例(生产汽车): 发动机 底盘 车身 车轮,按一定顺序组装,1. 对象,什么是对象? 客观世界中任何一个事物都可以看成一个对 象。对象有何特征? 对象是构成系统的基本单位; 任何一个对象都具有静态和动态的特征; 静态特征称为属性,动态特征称为行为; 在C+ 中,每个对象由数据和函数组成。,举例,对象: 三角形 属性: 三条边长、三个角度 行为(方法): 计算三角形面积、输出计算结果,2. 封装与信息隐蔽,什么是封装: 把不必让外界知道的部分隐蔽起来。即把对象的内部实现和外部行为分隔开来。封装性的两个含义: 把有关的数据和操作代码封装在一个对象中,形成程序中的一个基本单位,各个对象之间相互独立,互不干扰。 把对象中的某些部分对外隐蔽,只留下与外界联系的接口接收外界的消息,这种对外界隐蔽的做法称为信息屏蔽。C+ 对象中的公有函数就是对象的对外接口。,3. 抽象,对象的抽象是类,而类的具体实例是对象。 在已有A 类的基础上,增加一些属性和行为建立一个 B 类,B 类称为对A 类的继承机制。 在C+中多态性指:由继承而产生的新类,它的对象对同一个消息会作出不同的响应。,4. 继承与重用,5. 多态性,2.1.2面向对象程序设计的特点,图2.3 面向过程的程序设计模型,传统的面向过程程序设计是围绕功能进行的,面向对象的程序设计思路,面向对象程序设计包括两个方面:设计所需的各种类,即决定把哪些数据和操作封装在一起。考虑怎样向对象发送消息(调用对象的成员函数),实现所需的操作。举例:求图中阴影部分面积,2.1.4 面向对象的软件开发,1. 分析2. 设计3. 编程4. 测试5. 维护,确定类及各类的属性和方法,设计各类及整体程序(对象调用),用计算机语言把设计结果写成程序,在编译环境调试程序,发现、修改问题,如VC+6.0,根据应用更新程序,2.2 类的声明和对象的定义,在设计程序时: 首先要声明类类型, 然后再定义类类型变量即对象。,2.2.1 类和对象的关系2.2.2 声明类类型2.2.3 定义对象的方法2.2.4 类和结构体类型的异同,2.2.1类和对象的关系,关系的几点说明:C+中对象的类型称为类(class)类代表了某一批对象的共性和特征类是对象的抽象,而对象是类的具体实例类是抽象的,不占用内存空间。对象是具体的,要占用内存空间,2.2.2 声明类类型,这是什么?struct student /student 结构体 int num; char name20; char sex; ;student st1,st2; 声明一个类类型与声明一个结构体类型相似。,2.2.2 声明类类型,class student /student 类 int num; string name; char sex; void setdata() cin num; cin name; cin sex; void display() cout numendl; cout nameendl; cout sex num; cin name; cin sex; void display() cout numendl; cout nameendl; cout sex num; cin name; cin sex; void student : display() cout numendl; cout nameendl; cout sex hour表示p当前指向对象t中的成员hour, 此时(*p).hour也代表对象t中的成员hour,在这个例子中,p-hour、(*p).hour、t.hour三种表示是一个意思。,2.4.2通过指向对象的指针访问成员(续),2.4.3通过对象的引用来访问对成员,分析:Time t1;Time 这里t2是t1的别名,所以访问t2.hour就是访问t1.hour。,2.5类和对象的简单应用举例,这小节通过几个例子说明怎样用类设计程序,以及使用类的长处。,书上例2.1,2.2的设计方法不可取!,例2.3 类成员的调用,#include using namespace std;class Time private: int hour; int minute; int sec; public: void set_time() ; void show_time(); ;,
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号