版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
面向对象的程序设计讲面向对象的软件开发面向对象的软件开发共41页,您现在浏览的是第1页!面向对象的程序设计第2
页讲面向对象的软件开发面向对象技术的发展历史面向对象技术的基础知识面向对象程序设计的优点本章要点面向对象的软件开发共41页,您现在浏览的是第2页!面向对象的程序设计一、面向对象技术的发展历史面向对象的软件开发共41页,您现在浏览的是第3页!面向对象的程序设计第4
页1、回顾结构化方法程序设计语言只要顺序、选择和重复三种形式的控制结构就足以表达出各种其他形式的结构。采用过程抽象的方式,把软件视为处理流,并定义成由一系列步骤构成的算法。每一步骤都是带有预定输入和特定输出的一个过程,把这些步骤串联在一起可产生合理的稳定的贯通于整个程序的控制流,最终产生一个简单的具有静态结构的体系结构。面向对象的软件开发共41页,您现在浏览的是第4页!面向对象的程序设计第5
页1、回顾结构化方法缺点:1)复用困难2)牵一发而动全身3)为了适应变化,要精心设计函数接口,导致函数接口的日益复杂面向对象的软件开发共41页,您现在浏览的是第5页!面向对象的程序设计第6
页2、面向对象方法的提出在使用面向对象方法开发的系统之中,系统结构基于对象间的交互。系统中某一部分的改变仅仅产生局部影响。其组成部分如下:面向对象分析(OOA)面向对象设计(OOD)面向对象程序设计(OOP)即:OOSD=OOA+OOD+OOP。面向对象的软件开发共41页,您现在浏览的是第6页!面向对象的程序设计第7
页人类对客观事物的认知过程从一般到特殊的演绎过程从特殊到一般的归纳方法3、面向对象方法的基本思想运输工具飞机汽车轮船火车……水果苹果香蕉梨……抽象面向对象的软件开发共41页,您现在浏览的是第7页!面向对象的程序设计第8
页3、面向对象方法的基本思想划分将复杂问题(复杂对象)划分为一系列简单的组成部分(简单对象)分类按照对象间的各种相似性将对象分类认识各类对象自身属性及行为认识对象及类之间关系全部事物的完整认识—符合人类认知规律的软件开发过程面向对象的软件开发共41页,您现在浏览的是第8页!面向对象的程序设计第9
页1、什么是对象?在应用领域中有意义的、与所要解决的问题有关系的任何事物都可以作为对象,它既可以是具体的物理实体的抽象,也可以是人为的概念,或者是任何有明确边界和意义的东西。例如,一名职工、一家公司、一个窗口、一座图书馆、一本图书、贷款和借款等,都可以作为一个对象。总之,对象是对问题域中某个实体的抽象,设立某个对象就反映了软件系统保存有关它的信息,并具有与它进行交互的能力。面向对象的软件开发共41页,您现在浏览的是第9页!面向对象的程序设计第10
页1、什么是对象?问题空间对象图书1MyBook1:CBook书名:程序设计总页数:280版本:2m_pczName:char*=“程序设计”nTotalPage:int=280nEdition:int=2返回书名返回总页数返回版本号char*GetBookName();intGetTotalPage();intGetEdition();分析中的对象设计中的对象面向对象的软件开发共41页,您现在浏览的是第10页!面向对象的程序设计第11
页1、什么是对象?操作是指该对象可以展现的外部服务,它描述了对象执行的功能,若通过消息传递,还可以为其它对象使用。例如,大型客机可视为对象,它具有位置、速度、颜色、容量等属性,对于该对象可施行起飞、降落、加速、维修等操作,这些操作将或多或少地改变飞机的属性值(状态)。面向对象的软件开发共41页,您现在浏览的是第11页!类是具有相同数据结构和相同操作的一组相似对象的抽象。即表示某些对象在属性和操作方面的共同特征。类是在对象之上的抽象,有了类以后,对象则是类的具体化,是类的实例。把一组对象的共同特性加以抽象并存贮在一个类中的能力,是面向对象技术最重要的一点!面向对象的程序设计第12
页2、类的概念面向对象的软件开发共41页,您现在浏览的是第12页!面向对象的程序设计第13
页类与实例classclassfurniturecosttexturelocationcolorMove()objectchaircost$50texturewoodlocationscantumcolorblackMove()objectattributeabstract面向对象的软件开发共41页,您现在浏览的是第13页!面向对象的程序设计第14
页2)消息标识符(即消息名)3)零个或多个变元访问一个方法的过程称为向这个对象发送一个消息发送者对象属性:操作:接收者对象属性:操作:message:[sender,returnvalue(s)]4、消息的概念面向对象的软件开发共41页,您现在浏览的是第14页!面向对象的程序设计第15
页5、面向对象的基本特征-继承性广义地说,继承是指能够直接获得已有的性质和特征,而不必重复定义它们。在面向对象技术中,继承是子类自动地共享基类中定义的数据和方法的机制。继承性是面向对象程序设计语言不同于其他语言的最主要的特点!继承具有传递性,如果类C继承类B,类B继承类A,则类C继承类A面向对象的软件开发共41页,您现在浏览的是第15页!面向对象的程序设计第16
页5、面向对象的基本特征-继承性继承使得相似的对象可以共享程序代码和数据结构,从而大大减少了程序中的冗余信息,同时使得对软件的修改变得容易;继承使得用户在开发新的应用系统时不必完全重新开始,可以继承原有的相似系统或从类库中选取需要的类,在派生出新的类以实现所需要的功能;有了继承机制以后,还可以把已有的一般性的解加以具体化,来达到软件重用的目的。面向对象的软件开发共41页,您现在浏览的是第16页!面向对象的程序设计第17
页5、面向对象的基本特征-多态性员工程序员业务员文管每天上班时间一到,相当于发了一条这样的命令:
“员工.开始上班”(同一条表达式)比如在公司中有各种职责不同的员工(程序员,业务员,文管等),他们“上班”时,做不同的事情(也可以看作是一种业务逻辑),我们把他们各自的工作都抽象为“上班”,关系如下:面向对象的软件开发共41页,您现在浏览的是第17页!面向对象的程序设计第18
页6、类与类之间的关系类图是由类及类与类之间的关系组成。我们定义了类以后,就必须识别、描述类与类间的关系。通常,类与类之间的关系具有如下几种类型1)关联2)聚合和组合3)泛化面向对象的软件开发共41页,您现在浏览的是第18页!面向对象的程序设计第19
页1、与人类习惯的思维方法一致传统方法学以算法为核心数据和过程相互独立解空间与问题空间不一致,难于理解面向对象方法学以对象为核心数据(静态属性)和过程(动态行为)封装在一起解空间模拟客观世界面向对象的软件开发共41页,您现在浏览的是第19页!面向对象的程序设计第20
页3、可重用性好传统方法学利用标准函数库实现软件重用标准函数缺乏必要的“柔性”,并不是理想的可重用的软件成分面向对象方法学利用继承机制实现重用对象固有的封装性和信息隐藏机制,具有较强的独立性,是比较理想的可重用的软件成分面向对象的软件开发共41页,您现在浏览的是第20页!面向对象的程序设计第21
页5、较易开发大型软件产品每个对象就像一个微型程序,具有自己的数据、操作、功能和用途把大型软件产品分解成为一系列本质上相互独立的小产品来处理,降低开发难度,易于管理面向对象的软件开发共41页,您现在浏览的是第21页!面向对象的程序设计第22
页OO成为主流是技术发展的必然趋势!结论面向对象的软件开发共41页,您现在浏览的是第22页!面向对象的程序设计第23
页1、回顾结构化方法数据抽象、数据结构根据算法步骤的要求开发,它贯穿于过程,提供过程所要求操作的信息。系统的状态是一组全局变量,这组全局变量保存状态的值,把它们从一个过程传送到另一个过程。面向对象的软件开发共41页,您现在浏览的是第23页!面向对象的程序设计第24
页2、面向对象方法的提出面向对象方法把问题论域中的主要实体做为系统开发的起点,主要考虑对象的行为而不是必须执行的一系列动作。在面向对象方法中,对象是数据抽象与过程抽象的综合。系统状态保存在各数据抽象所定义的数据存储中。控制流包含在各个数据抽象中的操作内,算法被分布到各种实体中。面向对象的软件开发共41页,您现在浏览的是第24页!面向对象的程序设计第25
页3、面向对象方法的基本思想尽可能模拟人类习惯的思维方式,使开发软件的方法与过程尽可能接近人类认识世界解决问题的方法与过程,也就是使描述问题的问题空间(即问题域)与实现解法的解空间(即求解域)在结构上尽可能一致。天下乌鸦一般黑归纳演绎面向对象的软件开发共41页,您现在浏览的是第25页!面向对象的程序设计第26
页3、面向对象方法的基本思想面向对象方法提供了抽象和归纳的机制抽象的客观概念概念:学生抽象的数据类型类:学生实例化的对象对象:Jane具体的一组相似客观事物实体:Jane、Smith等表示抽象实例化模拟面向对象的软件开发共41页,您现在浏览的是第26页!面向对象的程序设计二、面向对象技术的基础知识面向对象的软件开发共41页,您现在浏览的是第27页!面向对象的程序设计第28
页1、什么是对象?在不同场合具有不同的含义:问题空间:所有要研究的客观现实的全体称为问题空间或问题域,而把要研究的问题(客观世界中的实体)称之为问题空间的对象解空间:所有的解(程序及执行程序的计算机)组成的集合称为解空间,把解(程序及执行程序的计算机实体)称做解空间的对象面向对象的软件开发共41页,您现在浏览的是第28页!面向对象的程序设计第29
页1、什么是对象?对象是封装了数据结构及可以施加在这些数据结构上的操作的封装体,这个封装体有可以唯一标识它的名字,而且向外界提供一组服务。属性(attribute)表示对象的性质,属性值规定了对象所有可能的状态,一般只能通过执行对象的操作来改变。面向对象的软件开发共41页,您现在浏览的是第29页!面向对象的程序设计第30
页1、什么是对象?对象:电视机Others...InternalStateTurnOnTurnOffChangeChannelAdjustVolumeOthers变更频道请求开请求关调节音量被封装的行为和状态面向对象的软件开发共41页,您现在浏览的是第30页!类是建立对象时使用的“样板”,按照这个样板所建立的一个个具体的对象,就是类的实例。实例是某个具体类所描述的一个具体对象,如:“张三”、“李四”是类“中国人”的实例。对象既可以是一个具体的对象,也可以泛指一般的对象;而实例只能是一个具体的对象。面向对象的程序设计第31
页3、实例的概念面向对象的软件开发共41页,您现在浏览的是第31页!面向对象的程序设计第32
页4、消息的概念对象之间进行通讯的一种构造叫做消息。当一个消息发送给某个对象时,包含要求接收对象去执行某些活动的信息。接收到消息的对象经过解释,然后予以响应。这种通讯机制叫做消息传递。发送消息的对象不需要知道接收消息的对象如何对请求予以响应。通常一个消息由三部分组成:1)接收消息的对象;面向对象的软件开发共41页,您现在浏览的是第32页!面向对象的程序设计第33
页5、面向对象的基本特征-封装性在面向对象的程序中,把数据和实现操作的代码集中起来放在对象内部。一个对象好像是一个不透明的黑盒子,表示对象状态的数据和实现操作的代码与局部数据都被封装在黑盒子里面,从外面是看不见的,更不能从外面直接访问和修改这些数据和代码。使用对象的时候只需要知道他向外界提供的接口的形式,无须知道它的数据结构细节和实现操作的算法。面向对象的软件开发共41页,您现在浏览的是第33页!面向对象的程序设计第34
页5、面向对象的基本特征-继承性单继承多重继承设备输出设备I/O设备输入设备面向对象的软件开发共41页,您现在浏览的是第34页!面向对象的程序设计第35
页5、面向对象的基本特征-多态性面向对象的核心内容是对象,封装,继承,多态和消息机制,其中多态就是为了描述现实世界的多样性的,也是面向对象中最为重要的特性,可以这么说,不掌握多态,就没有真正地掌握面向对象技术。简单的说,多态就是“相同的表达式,不同的操作”,也可以说成是“相同的命令,不同的操作”面向对象的软件开发共41页,您现在浏览的是第35页!面向对象的程序设计第36
页6、类与类之间的关系继承关联PersonHouseresidence0..*owner0..*Financial
Institutionclientcreditor0..*0..*Mortgageprincipalratet
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中国辣椒行业盈利态势与消费趋势预测研究报告(2024-2030版)
- 中国腈棉纱行业需求态势及盈利前景预测研究报告(2024-2030版)
- 2024年中国木雕罗汉床市场调查研究报告
- 中国纤维腻子市场现状分析与发展前景预测研究报告(2024-2030版)
- 中国米尔贝肟产业销售规模与投资战略规划分析研究报告(2024-2030版)版
- 食醋发酵课程设计
- 中国硫酰氟行业未来趋势及发展策略规划研究报告(2024-2030版)
- 中国石油化工MES系统行业前景动态及未来趋势测研究报告(2024-2030版)
- 中国电热披萨锅行业需求发展前景及销售规模剖析研究报告(2024-2030版)
- 数据库课程设计课程总结
- 广州版四年级上册Unit9说课
- 血管外科试题合集
- 新版人教版小学数学一年级上册课程纲要
- 形势与政策-论朝鲜半岛局势
- 通达信指标公式源码主力动向
- 潜油泵及潜油泵加油机讲义
- 医患沟通内容要求记录模板(入院、入院三日、术前、术后、出院)
- 第8章 腹部检查(讲稿)
- 浅谈深度教学中小学数学U型学习模式
- 湿法脱硫工艺计算书
- (医学PPT课件)NT检查规范
评论
0/150
提交评论