版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第2章,类和对象,本章内容,2.1 面向对象程序设计方法概述 2.2 类的定义 2.3 对象的定义 2.4 对象成员的引用 2.5 类和对象的简单应用举例 2.6 类的封装性和信息隐蔽 ,目标,理解面向对象程序设计思想; 理解类和对象的概念以及二者之间的关系; 掌握类和对象的定义; 掌握类的成员函数的定义; 掌握对象成员的引用方法; 理解类的封装性及实现。,本章内容,2.1 面向对象程序设计方法概述 2.2 类的定义 2.3 对象的定义 2.4 对象成员的引用 2.5 类和对象的简单应用举例 2.6 类的封装性和信息隐蔽,2.1 面向对象程序设计方法概述,2.1.1 什么是面向对象的程序设计
2、(一)面向过程程序设计,程序的主体是函数,2.1 面向对象程序设计方法概述,2.1.1 什么是面向对象的程序设计 (一)面向过程程序设计 由E.Dijkstra等人于20世纪70年代提出。 缺点: 无法适用较大规模的程序的开发; 程序的可重用性较差;,2.1 面向对象程序设计方法概述,2.1.1 什么是面向对象的程序设计 (二)面向对象程序设计 20世纪80年代左右提出。 基本思想: 程序的编写围绕“对象”来进行;,2.1 面向对象程序设计方法概述,2.1.1 什么是面向对象的程序设计 (二)面向对象程序设计,程序的主体是对象,2.1 面向对象程序设计方法概述,2.1.2 面向对象的程序设计的
3、基本概念 (一)对象 客观世界中任何一个事物或实体就是对象。 例如:一辆汽车、一只小狗乃至一种语言、一个图形、一种管理方式,都可以作为一个对象。,2.1 面向对象程序设计方法概述,2.1.2 面向对象的程序设计的基本概念 (一)对象 对象具有两个要素: 属性表示一个对象的静态特征。 方法行为,对象的动态功能 。,属性:名称 品种 颜色 行为:犬吠 吃东西 睡觉,2.1 面向对象程序设计方法概述,2.1.2 面向对象的程序设计的基本概念 (一)对象 属性数据进行描述,数据成员 方法函数来实现,成员函数,2.1 面向对象程序设计方法概述,2.1.2 面向对象的程序设计的基本概念 (二)类 一组具有
4、相同特征的对象的属性和方法的描述就称为类。 类是对象的抽象,对象是类的实例。 程序设计时: 分析对象的属性和方法; 定义类类型; 定义该类的对象,调用方法实现功能。,2.1 面向对象程序设计方法概述,2.1.2 面向对象的程序设计的基本概念 (二)类 一组具有相同特征的对象的属性和方法的描述就称为类。 例如: 输入圆的半径,计算圆的周长和面积 面向对象程序设计方法实现,2.1 面向对象程序设计方法概述,2.1.2 面向对象的程序设计的基本概念 (三)面向对象程序设计的三大特性 1、封装性 2、继承性 3、多态性,2.1 面向对象程序设计方法概述,2.1.3 面向对象的软件开发 面向对象的软件工
5、程包括: 1、面向对象分析(OOA) 2、面向对象设计(OOD) 3、面向对象编程(OOP) 4、面向对象测试(OOT) 5、面向对象维护(OOSM),本章内容,2.1 面向对象程序设计方法概述 2.2 类的定义 2.3 对象的定义 2.4 对象成员的引用 2.5 类和对象的简单应用举例 2.6 类的封装性和信息隐蔽,2.2 类的定义,2.2.2 类的定义 (一)定义格式 class 类名 private: 私有数据成员和成员函数; public: 公有数据成员和成员函数; protected: 保护数据成员和成员函数; ;,2.2 类的定义,2.2.2 类的定义 (二)成员访问权限 表示该成
6、员能否被访问的属性。 1、私有的private 特点:只能被本类的成员函数引用(默认权限) 2、公有的public 特点:本类的成员以及所有对象可以引用。 3、保护的protected,2.2 类的定义,2.2.3 类的数据成员 定义格式 数据类型 成员名; 其中: 数据类型可是是基本数据类型,也可以是构造数据类型。 例如:定义表示圆的类Circle; 定义表示学生的类Student。,class Circle private: double r; ;,1、定义表示圆的类Circle,例,class Student private: int num; /学号 string name; /姓名
7、char sex; /性别 ;,2、定义表示学生的类Student,例,2.2 类的定义,2.2.3 类的数据成员 定义格式 数据类型 成员名; 其中: 数据类型可是是基本数据类型,也可以是构造数据类型。 注意: 不能在定义时对数据成员赋初值!,2.2 类的定义,2.2.4 类的成员函数 用于描述对类中的数据成员实施的操作。 类的成员函数是函数的一种。 定义方式分为: (一)在类体中定义成员函数; (二)在类体中声明,在类外定义成员函数,2.2 类的定义,2.2.4 类的成员函数 定义方式分为: 1、在类体中定义成员函数 class 类名 返回值类型 成员函数名(参数) ;,2.2 类的定义,
8、2.2.4 类的成员函数 定义方式分为: 2、在类体中声明,在类外定义成员函数。 class 类名 返回值类型 成员函数名(参数); ;,2.2 类的定义,2.2.4 类的成员函数 定义方式分为: 2、在类体中声明,在类外定义成员函数。 函数类型 类名 : : 成员函数名(参数表) 函数体; ,本章内容,2.1 面向对象程序设计方法概述 2.2 类的定义 2.3 对象的定义 2.4 对象成员的引用 2.5 类和对象的简单应用举例 2.6 类的封装性和信息隐蔽,2.3 对象的定义,2.3.1 对象的定义 定义格式: class 类名 对象名 其它定义方式见P47。,本章内容,2.1 面向对象程序
9、设计方法概述 2.2 类的定义 2.3 对象的定义 2.4 对象成员的引用 2.5 类和对象的简单应用举例 2.6 类的封装性和信息隐蔽,2.4 对象成员的引用,2.4.1 通过对象名和成员运算符访问对象中的成员 访问格式: 对象名.数据成员 对象名.成员函数(实参列表) Qs: 该对象的所有数据成员和成员函数都能访问吗?,2.4 对象成员的引用,2.4.2 通过指向对象的指针访问对象中的成员 指向对象的指针: 类名 * 对象指针名= int minute; int sec; ;,int main() Time t1; cint1.hour; cint1.minute; cint1.sec;
10、coutt1.hour: t1.minute: t1.secendl; ,int main() Time t1; cint1.hourt1.minutet1.sec; coutt2.hourt2.minutet2.sec; coutt2.hour:t2.minute: t2.secendl; ,多个对象时,封装成函数,void set_time( ) cint.hourt.minutet.sec; void show_time(Time ,Time set_time(t1); show_time(t1); Time t2; set_time(t2); show_time(t2); return
11、 0; ,封装成类成员函数,class Time public: void set_time() ; void show_time(); private: int hour; int minute; int sec; ;,void Time:set_time( ) cinhourminutesec; void Time:show_time( ) couthour:minute:secendl; ,int main() Time t1; t1.set_time(); t1.show_time(); Time t2; t2.set_time(); t2.show_time(); return 0;
12、 ,2.5 类和对象的简单应用举例,例2.1 定义一个表示时钟的类(Time)。 1、分析: 该类有哪些数据成员? 该类有哪些成员函数? 2、类的具体实现 3、main函数中定义Time类的对象,并调用其成员函数实现功能。,本章内容,2.1 面向对象程序设计方法概述 2.2 类的定义 2.3 对象的定义 2.4 对象成员的引用 2.5 类和对象的简单应用举例 2.6 类的封装性和信息隐蔽,2.6 类的封装性和信息隐蔽,2.6.1 公用接口与私有实现的分离 2.6.2 类声明和成员函数定义的分离 2.6.3 面向对象程序设计的几个名词,总结,本章主要讲授内容 面向对象程序设计 对象、类 封装性、继承性和多态性 类的定义 对象的定义 对象成员的引用,实验安排,下周二第3单元上机。 实验内容: 实验二 类和对象的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 深度学习算法实践应用案例介绍
- 2025新脑血管病学核心题库题目及答案
- 2026年人工智能算法培训服务协议
- 2026农业智慧灌溉系统行业市场现状供需分析及投资评估规划分析研究报告
- 2026中国黑色金属期货市场发展前景及交易策略与风险管理报告
- 2026中国细胞治疗产品审批流程优化与支付体系构建研究报告
- 2025中考时事政治必考题和答案
- 2025新专升本高等数学测试题答案
- x线物理与防护考试题及答案
- 2026届湖北省武汉梅苑校初中英语毕业考试模拟冲刺卷含答案
- 《居家安宁疗护服务规范(征求意见稿)》编制说明
- 高中化学与生物跨学科融合:化学键视角下的营养素相互作用教学设计
- 浙江省省杭州市上城区建兰中学2026届中考数学四模试卷含解析
- (完整版)2026年党建基础知识应知应会试题及答案
- 2023年年度全国注册土木工程师水利水电工程执业资格考试水工结构专业案例试卷上午
- 大一下学期高等数学期中考试试卷及答案
- GB/T 27725-2011热塑性塑料蝶阀
- GB/T 1957-2006光滑极限量规技术条件
- GA 884-2018公安单警装备催泪喷射器
- 农业行政处罚程序和文书制作课件
- 输电线路改造工程验收交底
评论
0/150
提交评论