- 1、本文档共100页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
本章内容 面向对象程序设计概述 类的定义 对象的定义和对象成员的引用 构造函数 析构函数 this指针 静态成员(不讲) 友元 类模板(不讲) 程序设计方法的发展历程 面向过程的程序设计方法 SP(Structured Programming) 面向对象的程序设计 OOP(Object Oriented Programming) 面向过程的程序设计方法 重点 以功能为中心 ,采用函数来描述,数据与函数分开,如何实现细节过程。 设计思路特点 自顶向下,逐步求精——功能分解。 程序结构形式 主模块+若干个子模块(main()+子函数)。每 一模块内部均是由顺序、选择和循环三种基本 结构组成。 缺点 效率低,程序的可重用性差 两种程序设计方法 面向对象的程序设计方法 观点: 客观世界是由各种各样的实体(对象)组成的。 程序设计方法: 使用面向对象的观点来描述模仿并处理现实问题。使程序设计方法更符合人类的思维方式,更直接地描述客观世界。 要求: 高度概括、分类、和抽象。 目的: 通过提高代码的可重用性、可扩充性来提高编程效率,大大减少软件维护的开销。适合于大程序的开发工作 。 面向对象的程序设计方法 将数据及对数据的操作方法封装在一起,作为一个相互依存、不可分离的整体 ——对象。 对同类型对象抽象出其共性,形成类。 类通过一个简单的外部接口,与外界发生关系。 对象与对象之间通过发消息进行通讯。 通过类的继承与多态实现代码重用。 面向对象方法强调充分运用人类在日常逻辑思维中经常采用的思想、方法与原则,例如抽象、继承、聚合、封装等。这使得软件开发者能更有效地思考问题,并以其他人也能看得懂的方式把自己的认识表达出来。 比较 Before OOP 代码联系紧密 难于编写和维护 难于修改 代码可重用性差 数据安全性不好 小型软件开发效率高 With OOP 程序是由一系列相互协作的对象构成 更易于编写和维护 修改容易 代码可重用性高 数据安全性好 开发大型软件和图形界面的应用软件效率高 一般意义上的对象 客观世界中的事物都是对象。一个对象是现实 世界中一个实际存在的事物。可以是有形的(比如一辆汽车),也可以是无形的(比 如一项计划)。 是构成世界的一个独立单位,具有: 静态特征:对象具有的状态(state ),可以用 某种数据来描述 动态特征:对象所表现的行为(behavior/action) 或具有的功能。 思考 What would a MP3 player object be like? 属性(Data): 行为(Actions): 思考 What would a MP3 player object be like? 属性(Data): number of songs current song power level songs 行为(Actions): play pause rewind forward on/off 面向对象方法中的对象 是系统中用来描述客观事物的一个实体, 它是用来构成系统的一个基本单位。 对象由一组属性和一组行为构成。 属性:用来描述事物的数据特征。 行为:用来描述事物的行为特征。 对象 ——人 属性: char *name, char *gender, int age, int id 行为: getCloth(), eat(), step(), work() 类 分类 ——人类通常的思维方法 分类所依据的原则 ——抽象 忽略事物的非本质特征,只注意那些与当前目标有关的本质特征,从而找出事物的共性,把具有共同性质的事物划分为一类,得出一个抽象的概念。 抽象出对象的特征和功能,按此标准对对象分类。 面向对象方法中的“类” 类是具有相同属性和操作的一类对象的统称。 类是对具有相同属性和操作的一组对象的一个抽象描述,包括属性和行为两个部分 类定义了这一类对象所共有的特征和行为 类与对象的关系 类是抽象的,对象是具体的 类是模型,对象是实例 类是类型,对象是变量 面向对象程序设计方法的基本特征 抽象性 封装性 继承性 多态性 封装 什么是封装 为什么要封装 如何封装 面向对象语言的特点 ——封装性(信息隐藏) 把对象的属性和服务结合为一体,成为一个独立、不可分的实体。 尽可能隐蔽对象的内部细节。对外形成一个边界(或者说一道屏障),只保留有限的对外接口使之与外部发生联系。 类的定义 类声明形式:
文档评论(0)