- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第八章 类和对象 8.1 面向对象程序设计方法概述 两类程序设计思想 面向过程的:基于时间流程,描述每一时刻的变化 我们前面学的都是面向过程的…… 面向对象的:基于对象和消息,描述对象及对象间的行为 我们即将学习的…… 想一想:Windows是基于哪种思想开发的? 如果是基于面向过程的思想的…… 如果是基于面向对象的思想的…… 8.1 面向对象程序设计方法概述 什么是对象? 8.1 面向对象程序设计方法概述 一切皆是对象(Object) 任何一个事物都可以看作是一个对象或是多个对象构成的系统,通过研究每个对象以及它们的相互关系来研究该系统,这就是系统论的思想 系统论是解决复杂问题的思想武器 8.1 面向对象程序设计方法概述 8.1 面向对象程序设计方法概述 8.1 面向对象程序设计方法概述 对象的要素: 属性:用于描述对象的静态特征 花:品种、颜色、气味…… 人:姓名、性别、年龄、籍贯…… 按钮:大小、位置、名称、颜色…… 窗口:标题、大小、位置、是否当前窗口…… 行为:用于描述对象的动态特征 花:开放、凋谢 人:说话、走路、吃饭、思考…… 按钮:单击、按键、鼠标经过…… 窗口:显示、关闭、最大化、最小化、获得焦点…… 8.1 面向对象程序设计方法概述 对象的通信工具:消息 来自对象外部的控制对象行为的信息 不同的对象能够响应不同的消息 同样的消息能够引起不同对象的不同响应 面向对象的程序设计思想中 程序=对象s + 消息s 8.1 面向对象程序设计方法概述 面向对象程序设计方法的核心思想 封装(encapsulation) 抽象(abstraction) 继承(inheritance) 多态(polymorphism) 8.1 面向对象程序设计方法概述 封装与信息隐藏 使用对象的人只需要了解它对用户有用的属性和功能 把不需要用户了解的东西屏蔽起来 8.1 面向对象程序设计方法概述 封装的含义与目的 对象之间相对独立,互不影响 隐蔽内部细节,只留下少量接口,以便与外界联系 有利于数据安全,防止无关的人了解和修改数据 函数就是一种封装的实例 8.1 面向对象程序设计方法概述 抽象 将一类事物的共性抽取出来就是这类事物的抽象 人:张三、李四…… 整数:1、2、3、4…… 对话框:打开文件对话框、保存文件对话框…… 类:对象 类是对一类事物共同属性和行为的抽象 对象是类的具体化 抽象有助于抓住共性,提高程序模块的重用性 8.1 面向对象程序设计方法概述 继承与重用 开发一款具有摄像和mp3功能的手机A 已有开发普通手机B的经验和资料 A=B+摄像+mp3 设计一个具有预览功能的打开文件对话框 继承标准对话框的功能(类似复制原有的代码) 以此为基础加入预览功能 得到一种新的对话框 8.1 面向对象程序设计方法概述 多态性 不同的对象对同样的消息产生不同的响应 教务处向全校发出消息:准备期末考试 任课教师:编制试卷、组织复习 学 生:复习、准备考试 教 务 员:安排时间、考场 辅 导 员:召开复习动员会 多态性使得程序灵活和简洁 8.1 面向对象程序设计方法概述 面向对象程序设计的特点 面向过程的程序设计 必须考虑每一个细节 特别是必须考虑到每时每刻做什么 面向对象的程序设计 通过消息控制对象行为 8.1 面向对象程序设计方法概述 8.1 面向对象程序设计方法概述 面向过程的编程是以函数为基础的 函数=算法+数据结构 程序=函数s 基于对象的编程是以对象为基础的 对象=数据s + 函数s 程序=对象s 面向对象的编程 完全、彻底、充分地利用对象(封装、抽象、继承、多态) 程序=对象s + 消息s 8.1 面向对象程序设计方法概述 面向对象的软件开发 面向对象分析(OOA) 面向对象设计(OOD) 面向对象编程(OOP) 面向对象测试(OOT) 面向对象维护(OOSM) 8.2 类的声明和对象的定义 类和对象的关系 类和对象的关系同结构体类型和结构体变量的关系 C++中对象的类型称为类(class) 先声明一个类类型,然后用它去定义若干同类型的对象 类代表了某一批对象的共性特征 类是对象的抽象,而对象是类的具体实例(instance) 类是抽象的, 不占用内存,而对象是具体的,占用存储空间。 8.2 类的声明和对象的定义 声明类类型 类=包含函数(操作)的结构体 class Student //以class开头 { int num; char name[20]; char sex; //以上3行是数据成员 void display
原创力文档


文档评论(0)