面向对象的设计思想.ppt

  1. 1、本文档共182页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
面向对象的设计思想第二章 回顾C++中的数据类型引用类型函数重载函数参数默认值C++中的动态内存分配2 本章内容程序设计思想面向对象编程(OOP)面向过程与面向对象的区别OOP的特性类的定义类的访问控制3 程序设计方法传统的结构化程序设计SP(Structured Programming)面向对象的程序设计OOP(Object Oriented Programming)4 结构化程序设计2-1传统的程序设计方法可以归结为“程序=算法+数据结构”,将程序定义为处理数据的一系列过程。这种设计方法的着眼点是面向过程的,特点是数据与程序分离,即数据与数据处理分离。 结构化程序设计的基本思想是采用自顶向下、逐步细化的设计方法和单入单出的控制结构。其理念是将大型程序分解成小型、便于管理的任务。如果其中的一项任务仍然过大,则将它分解为更小的任务。这一过程将一直持续下去,直到将程序划分为小型的,易于编写的模块。5 结构化程序设计2-2模块 22.12.2模块 11.21.11.31.3.11.3.21.3.3模块 33.13.23.1.13.1.2 程 序6 面向过程方法分析问题结构化程序设计是面向过程(procedure-oriented)的7 结构化程序设计的缺点结构化程序设计为处理复杂问题提供了有力手段,但到80年代末,这种设计方法逐渐暴露出以下缺陷:程序难以管理数据修改存在问题难以适应大型软件的设计程序可重用性差面向过程程序设计缺点的根源在于数据与数据处理分离8 面向对象程序设计面向对象(Object Oriented )是认识事务的一种方法,是一种以对象为中心的思维方式面向对象的程序设计:对象=(算法+数据结构)程序=对象+对象+……+对象面向对象程序设计模拟自然界认识和处理事物的方法,将数据和对数据的操作方法放在一起,形成一个相对独立的整体——对象(object),同类对象还可抽象出共性,形成类(class )。一个类中的数据通常只能通过本类提供的方法进行处理,这些方法成为该类与外部的接口。对象之间通过消息(message)进行通讯。面向对象程序设计不像过程性编程那样,试图使问题满足语言的过程性方法,而是试图让语言来满足问题的要求。其理念是设计与问题的本质特性相对应的数据格式。9 基本概念——对象世界上所有的事物都可以称为对象(Object)。对象可以是有形的如:一台电视机等。也可以是无形的如:帐户、一项记录等。一个对象就是一个独立存在的客观事物,它由一组属性和对属性进行操作的一组操作构成。属性是对象静态特征的描述操作是对象动态特征的描述属性和操作是对象的两大要素。如电视的属性有:品牌、尺寸、重量等。操作有:收视、选台、音量调节等。10 基本概念——类是一个抽象的概念,用来描述某一类对象所共有的、本质的属性和类行为根据抽象的原则对客观事物进行归纳和划分11 类和对象的区别如何区分类和对象——以“人”和“张三”为例“人”描述了所有人(包括“张三” )都具有的属性和行为,如有姓名、身高、体重,有鼻子、眼睛、四肢,能交流、有思维等等类(“人”)描述的概念是抽象的“人”的姓名是什么?“人”的身高是什么?对象(“张三”)是具体的“张三”的姓名是“张三”“张三”的身高是185CM类和对象的例子:教室——五楼多媒体教室、四楼语音教室国家——中国、美国学校——福州大学、厦门大学12 基本概念——消息对象可以响应消息我们把对象之间产生相互作用所传递的信息称做消息。 C++将“向对象发消息”处理成“调用对象的某个成员函数”13 面向对象编程方法的特性程序设计的重点在数据而不是函数程序由对象组成,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。 对象之间通过相互协作来完成功能大多数对象的定义以数据为中心函数与相关的数据紧密结合数据可以被隐藏很容易扩充新的数据和函数14 面向对象编程的优缺点面向对象编程的优点:易维护:可读性高,即使改变需求,由于继承的存在,维护也只是在局部模块,维护起来是非常方便和较低成本的。质量高:可重用现有的,在以前的项目的领域中已被测试过的类使系统满足业务需求并具有较高的质量。效率高:在软件开发时,根据设计的需要对现实世界的事物进行抽象,产生类。这样的方法解决问题,接近于日常生活和自然的思考方式,势必提高软件开发的效率和质量。易扩展:由于继承、封装、多态的特性,自然设计出高内聚、低耦合的系统结构,使得系统更灵活、更容易扩展,而且成本较低。面向对象编程的缺点: 运行效率会下降10%左右15 面向对象的基本特征抽象封装和数据隐藏继承多态16 抽象的设计思路数据抽象化为属性 处理过程抽象化为操作(方法)例如:当建立一个图书管理系统时,通过直觉知道系统里一定要有图书管理员/读者/书这些对象, 而其中

文档评论(0)

solow + 关注
实名认证
内容提供者

公共营养师持证人

该用户很懒,什么也没介绍

领域认证该用户于2023年05月13日上传了公共营养师

1亿VIP精品文档

相关文档