面向对象方法概述
面向对象分析方法

面向对象分析方法面向对象分析方法是以系统的用户和目的为出发点的一种分析技术,它主要用于分析系统中的物体(对象)之间的关系,以及这些物体所具有的通用性质,以便将它们组织为一个可使用的整体系统。
在软件开发中,面向对象分析方法用于发现和描述系统中的对象,以及它们之间的关系,并将这些对象组织为可重用的模块,以便用于系统的设计和实现。
面向对象分析方法包括四个主要步骤: 1、识别对象:根据系统的用户和目的,识别系统中的对象,并确定它们之间的关系。
2、分析对象:对系统中的对象进行进一步分析,以便更好地理解它们之间的关系。
3、确定对象的功能:确定系统中的对象应该具有的功能,以及它们之间的关系应该如何实现。
4、设计对象结构:考虑到对象之间的关系,设计系统的对象结构,以便将它们组织为可重用的模块。
面向对象分析方法有助于定义和分析系统中的对象以及它们之间的关系,从而准备进行软件设计和实现。
它能够帮助开发人员更好地理解系统的用户和目的,以及系统的功能和结构,从而有效地实现软件开发过程。
首先,面向对象分析可以帮助开发人员确定和识别系统中的对象,以及它们之间的关系。
通过分析用户和目的,开发人员可以确定用户可能会使用的对象,以及这些对象之间的关系。
在确定系统中的对象之后,开发人员可以分析这些对象,以便更好地理解它们之间的关系。
其次,面向对象分析可以帮助开发人员确定系统中的对象应该具有的功能,以及它们之间的关系应该如何实现。
通过分析用户和目的,开发人员可以确定每个对象应具有的功能,以及它们之间的关系应该如何实现。
最后,面向对象分析可以帮助开发人员设计系统的对象结构,以便将它们组织为可重用的模块。
在设计对象结构时,开发人员需要考虑到对象之间的关系,以及它们应该如何被组织和重用。
总之,面向对象分析方法是一种帮助开发人员确定和分析系统中的对象以及它们之间的关系的技术,从而为软件设计和实现提供依据。
它可以帮助开发人员确定系统中的对象,以及它们应该具有的功能和结构,从而有助于软件开发过程的有效实施。
面向对象的软件开发方法简介

1面向对象的软件开发方法简介面向对象的开发方法把软件系统看成各种对象的集合,对象就是最小的子系统,一组相关的对象能够组合成更复杂的子系统。
面向对象的开发方法具有以下优点。
●把软件系统看成是各种对象的集合,这更接近人类的思维方式。
●软件需求的变动往往是功能的变动,而功能的执行者——对象一般不会有大的变换。
这使得按照对象设计出来的系统结构比较稳定。
●对象包括属性(数据)和行为(方法),对象把数据和方法的具体实现方式一起封装起来,这使得方法和与之相关的数据不再分离,提高了每个子系统的相对独立性,从而提高了软件的可维护性。
●支持封装,抽象,继承和多态,提高了软件的可重用性,可维护性和可扩展性。
1.1 对象模型在面向对象的分析和设计阶段,致力于建立模拟问题领域的对象模型。
建立对象模型既包括自底向上的抽象过程,也包括自顶向下的分解过程。
1.自底向上的抽象建立对象模型的第一步是从问题领域的陈述入手。
分析需求的过程与对象模型的形成过程一致,开发人员与用户交谈是从用户熟悉的问题领域中的事物(具体实例)开始的,这就使用户和开发人员之间有了共同语言,使得开发人员能够彻底搞清用户需求,然后再建立正确的对象模型。
开发人员需要进行以下自底向上的抽象思维。
●把问题领域中的事物抽象为具有特定属性和行为的对象。
●把具有相同属性和行为的对象抽象为类。
●若多个类之间存在一些共性(具有相同属性和行为),把这些共性抽象到父类中。
再自底向上的抽象过程中,为了使子类能更好的继承父类的属性和行为,可能需要自顶向下的修改,从而使整个类体系更加合理。
由于这类体系的构造是从具体到抽象,再从抽象到具体,符合人们的思维规律,因此能够更快,更方便的完成任务。
2.自顶向下的分解再建立对象模型的过程中,也包括自顶向下的分解。
例如对于计算机系统,首先识别出主机对象,显示器对象,键盘对象和打印机对象等。
接着对这些对象再进一步分解,例如主机对象有处理器对象,内存对象,硬盘对象和主板对象组成。
软件工程 比较结构化方法和面向对象

软件工程比较结构化方法和面向对象一、引言软件工程是一门关注软件开发过程的学科,它涉及到软件开发的各个方面,包括需求分析、设计、编码、测试和维护等。
在软件工程领域中,有两种主要的开发方法:比较结构化方法和面向对象方法。
本文将对这两种方法进行详细的比较和分析。
二、比较结构化方法1.概念结构化方法是一种基于模块化设计思想的软件开发方法。
它将一个大型系统划分为多个小模块,每个模块都有明确的输入和输出,并且通过调用其他模块来实现其功能。
2.特点(1)强调程序流程控制;(2)采用自顶向下或自底向上的设计方式;(3)使用层次结构图表示程序流程;(4)采用数据流图表示数据流动情况;(5)模块之间通过参数传递来交换信息。
3.优缺点①易于理解和维护;②适合大型系统开发;③能够提高程序可读性。
(2)缺点:①不够灵活,难以应对需求变更;②不支持复杂的数据类型;③容易出现模块间的耦合。
三、面向对象方法1.概念面向对象方法是一种基于对象思想的软件开发方法。
它将一个系统看作是由多个对象组成,每个对象都有自己的属性和方法,并且通过消息传递来实现对象之间的交互。
2.特点(1)强调数据抽象和封装;(2)采用自下而上的设计方式;(3)使用类图表示程序结构;(4)采用序列图表示消息传递过程;(5)支持继承和多态等高级特性。
3.优缺点①能够提高代码重用性;②支持动态绑定,具有更好的灵活性;③能够提高系统可扩展性。
(2)缺点:①易于出现类爆炸问题;②需要掌握较为复杂的概念和技术。
四、比较分析1.设计思想不同结构化方法注重程序流程控制,通过模块化设计来实现程序结构清晰、易于维护。
而面向对象方法则注重数据抽象和封装,通过对象之间的交互来实现程序功能。
2.设计方式不同结构化方法采用自顶向下或自底向上的设计方式,通过层次结构图和数据流图来表示程序结构和数据流动情况。
而面向对象方法则采用自下而上的设计方式,通过类图和序列图来表示程序结构和消息传递过程。
第3章-面向对象开发方法

3.1 面向对象方法的基本含义
3.1.2 面向对象方法和结构化方法的比较
面向对象方法 结构化方法 原型法 1.系统在分析阶 1.用户素质、系统分析 1.不适合大规模系统开发; 段对对象的抽象困员和管理者之间的沟通 2.开发过程管理要求高,要经过 难; 要求高; “修改—评价—再修改”的多次 2.需要一定的软 2.开发周期长,文档过 反复; 件基础支持才能应多,难于适应环境变化; 3.用户过早看到系统原型,误认 用; 3.结构化程度较低的系 为最终系统就是原型模样,易使 缺 点 3.结构化程度不 统,在开发初期难以锁 用户失去信心; 高 定功能要求; 4.开发人员易将原型取代系统分 4.各阶段的审批工作困 析;缺乏规范化的文档资料; 难;所使用的工具落后。 5.需要较高的系统开发环境支持, 如系统开发工具、软硬件、开发 环境、开发人员及用户素质等
定义一:面向对象方法是一种运用对象、类、封装、继承、 多态和消息等概念来构造、测试、重构软件的方法。
定义二: 面向对象方法是以认识论为基础,用对象来理 解和分析问题空间,并设计和开发出由对象构成的软件系 统(系统责任)的方法。 • 面向对象的分析过程就是认识客观世界的过程。
3.1 面向对象方法的基本含义
3.4 面相对象方法的优点
• 从认知学的角度来看,面向对象方法符合人们对客观世界 的认识规律。 • 面向对象方法开发的系统易于维护,其体系结构易于理解、 扩充和修改。面向对象方法开发的软件系统有对象类组成, 对象的封装性很好地体现了抽象和信息隐蔽的特征。当对 象的接口确定以后,实现细节的修改不会影响其他对象, 易于维护。 • 面向对象方法中的继承机制有力支持软件的复用。在同一 应用领域的不同应用系统中,往往会涉及到许多相同或相 似的实体,这些实体在不同的应用系统中存在许多相同的 属性和操作,也存在着一些不同的应用系统所特有的属性 和操作。可以通过继承来复用公共的属性和操作。
第1章 面向对象的方法学

的相关头文件
#include<iostream>
计算机科学与工程学院
西安理工大学
C++流类库简介
iostream类同时从istream(输入流)类和ostream(输出 流)类派生而来,允许双向输入/输出。输入由重载的操作 符>>完成,输出由重载的操作符<<来完成。 cin>>变量名; cout<<变量名或常量;
对象
对象是封装了数据结构及可以施加在这些数据结构上的操作的封装体。 对象是我们认识世界的基本单元,可以是人,也可以是物,还可以是一 件事。 术语“对象”既可以是指一个具体的对象,也可以泛指一般的对象。
实例
实例是一个类所描述的一个具体的对象。
例如,通过“大学生”类定义一个具体的对象学生王明就是大学生类的 一个实例,就是一个对象。 类和对象之间的关系是抽象和具体的关系。
面向对象分析
分析是问题抽象(即做什么)。 结构化方法采用面向过程的方法对问题进行分解 面向对象分析是指在深入、全面理解问题本质需求的基础上,准确地抽象出 系统必须做什么。
面向对象设计
分析是提取和整理用户需求,建立问题精确模型的过程,即做什么。设计是 问题求解 (即怎么做),是对分析阶段所建立的模型进行精雕细凿,并逐渐扩 充的一个过程。
[例9-5] 简单输出实例1。
[例9-6] 简单输出实例2。
计算机科学与工程学院
西安理工大学
基本输入流
流输入可以用流读取运算符——即重载的>>(右移位运算
符)来完成。 注意:
输入运算符>>也支持级联输入。在默认情况下,运算符>>跳过空格,读 入后面与变量类型相应的值。因此给一组变量输入值时,用空格或换行 将输入的数值间隔开,例如:
面向对象方法在信息系统开发中的应用

面向对象方法在信息系统开发中的应用一、什么是面向对象方法?你有没有想过,当你看到一台手机、一个电脑,甚至是你自己喜欢的游戏,它们是怎么“动”起来的?好像每个应用、每个系统都在背后有个无形的魔法师,指挥着它们做各种操作。
别想得太复杂,其实这就是“面向对象”方法在发挥作用!简单来说,面向对象方法就是把世界上的事物看成一个个小小的“对象”,这些对象有自己的属性和行为,按照自己的方式在“世界”里互动。
而我们做信息系统开发时,就是用这种方法来设计程序,让它们更加灵活、易懂,甚至能随时调整和扩展。
是不是听起来有点像搭乐高一样?每个乐高块都是一个“对象”,你可以自由组合,创造出你想要的东西。
所以呢,面向对象的方法实际上是一种思想,一种看待世界的方式,不仅能提高开发效率,还能让开发者更加轻松地管理和维护系统。
比如说,你写个小程序,肯定希望它能“自我管理”,而不是每次修改都要大动干戈吧。
嗯,就是这个意思!二、面向对象方法的核心概念想了解面向对象的“魔法”,你得先知道它的几大核心概念。
第一个就是“类”。
你可以把类想象成一个蓝图,里面规定了哪些属性和行为。
比如说,你要做一个“汽车”对象,类就可以规定它的“颜色”、“品牌”、“速度”等属性,还有“启动”、“加速”、“刹车”这些行为。
简单来说,类就像是一个模板,而每个对象则是根据这个模板生成的“实例”。
第二个概念叫“封装”。
你知道吗,有些东西可以藏起来不让别人看到,这就像你手机里的隐私照片,别人看不到,只有你自己知道。
封装就是把对象的具体实现细节隐藏起来,外部只看到它暴露出来的功能。
比方说,你开车时不需要知道引擎是怎么工作的,只需要按下油门,车就动了。
这种方式不仅让系统更加简洁,还提高了安全性。
然后是“继承”。
这就像是你继承了父母的基因,既有爸爸的高个子,也有妈妈的聪明。
继承的好处就是,你可以创建一个新类,不需要从头开始,直接“继承”已有类的属性和行为,快速重用代码。
这简直是开发者的福利啊!不然每次都得重新造轮子,那还不累死!最后是“多态”。
第九讲面向对象方法介绍

类之间主要存在三种关系。它们是:关联、 聚合和泛化。
15
16
消息——
消息是一个对象要求另一个对象实施某项 操作的请求。在一条消息中,需要包含消 息的接收者和要求接收者执行哪项操作的 请求,而并没有说明应该怎样做,具体的 操作过程由接收者自行决定。
43
44
标准建模语言UML (顺序图)
44
45
标准建模语言UML (协作图)
45
46
标准建模语言UML (活动图)
46
47
标准建模语言UML (构件图)
Whnd.cpp: 窗口处理器
Whnd.obj: 窗口处理器
Graphic.dll: 图形库
Comhnd.cpp: 命令处理器
Comhnd.obj: 命令处理器
16
17
消息传递是对象之间相互联系的惟一途径。 发送者发送消息,接收者通过调用相应的 方法响应消息,这个过程被不断地重复, 使得应用程序在人的有效控制下运转起来, 最终得到相应的结果。可以说,消息是驱 动面向对象程序运转的源泉。
17
继承——
继承是类之间的一种常 见关系。这种关系为共 享数据和操作提供了一 种良好的机制。通过继 承,一个类的定义可以 基于另外一个已经存在 的类。继承是面向对象 程序设计方法的一个重 要标志,利用继承机制 可以大大提高程序的可 重用性和可扩充性。
• UML是一种建模语言而不是一种方法,UML本身是 独立于过程的。
31
32
标准建模语言UML
UML为人们提供了从不同的角度去观 察和展示系统的各种特征的一种标准表 达方式。在UML中,从任何一个角度对系 统所作的抽象都可能需要用几种模型图 来描述,而这些来自不同角度的模型图 最终组成了系统的完整模型。
面向对象程序设计 1_面向对象方法概述

(1) 重用性 传统软件生产中缺乏大粒度、可重用的构件。基 本处于手工作业阶段。 (2) 复杂性 传统程序中数据与其操作是相分离的,开发大程 序时,常因数据的一个的小小变动而导致意想不到的 错误,甚至整个程序的崩溃。以致出现过所谓的“软 件危机”。 (3) 可维护性 传统程序中数据与操作相分离的结构不利于程序 的维护。
1.1
什么是面向过程程序设计方法 本节主要内容
1.1.1 面向过程程序设计方法概述 1.1.2 面向过程程序设计方法的局限性
1.1.1 面向过程程序设计方法概述
面向过程程序设计方法是流行很广泛的程序设计 方法。如C、PASCAL、FORTRAN、Ada等语言都是采用面 向过程程序设计方法。 在面向过程程序设计中,程序设计者不仅要考虑程 序要“做什么”,还要解决“怎么做”的问题。 首先要明确程序的功能,程序设计的重点是如何设 计算法和实现算法。 在面向过程程序设计中,普遍采用结构化程序设计 方法,即所有的程序由顺序、分支和循环三种基本结构 组成。
3.传统的程序设计难以适应各种新环境
当前,并行处理、分布式、网络和多机系统等,已 经或将是程序运行的主流方式和主流环境。 传统的程序设计技术很难适应这些新环境。 综上所述,传统的面向过程的结构化程序设计不能 够满足计算机技术的迅猛发展的需要,软件开发迫切需 要一种新的程序设计方法的支持。
1.2
什么是面向对象程序设计方法 本节主要内容
例1.1 利用面向过程程序设计方法计算圆和三角 形的面积。设圆的半径为r,圆周率取3.14,则圆面积 的计算公式为cs=3.14*r*r;设三角形的高为h,底为w, 则三角形面积的计算公式为ts=0.5*h*w。
用面向过程程序设计方法编写一个计算面积的C语言程序。 #include<stdio.h> double circle(double r){ return 3.14*r*r; } //定义函数circle double triangle(double h,double w) //定义函数triangle { return 0.5*h*w; } int main() //定义主函数main { double r,h,w,cs,ts; printf(“Input r,h,w:”); //调用函数,输出字符串 scanf("%lf%lf%lf",&r,&h,&w); //调用函数scanf,输入圆的半径和三角形高和底的值 cs= circle(r); //调用函数circle ts= triangle(h,w); //调用函数triangle printf("The area of circle is:%f\n",cs);//调用函数输出圆的面积 printf("The area of triangle is:%f\n",ts); //调用函数输出三角形的面积 return 0;}
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
张山 (instance)
Class 中国人 张山的 Attributes 李士 (instance) Class 杭州人 中国人李士的 Attributes 杭州人李士的 Attributes
首页
上页
下页
末页
退出
特点: 特点: 杭州人的 中有与中国人的同名, 中有与中国人的同名 若杭州人的 methods中有与中国人的同名,则 时以杭州人为 杭州人为准 不执行中 李士执行该 method 时以杭州人为准,不执行中 国人中定义的同名 国人中定义的同名 method。 。
OOD
OOP OOP
1.3.5 面向对象开发方法的组成
1、OOA法 OOA法
1、OOA法 OOA法 就是要解决“作什么”的问题。 就是要解决“作什么”的问题。OOA 法的基本任务就是要 建立三种模型: 建立三种模型: 对象模型(信息模型) 对象模型(信息模型) 定义构成系统的类和对象,它们的属性与操作。 定义构成系统的类和对象,它们的属性与操作。 状态模型(动态模型) 状态模型(动态模型) 描述任何时刻对象的联系及其联系的改变,即时序。 描述任何时刻对象的联系及其联系的改变,即时序。常 用状态图, 事件追踪图描述。 用状态图, 事件追踪图描述。 处理模型(函数模型) 处理模型(函数模型) 描述系统内部数据的传送处理。 描述系统内部数据的传送处理。 显然,在三大模型中,最重要的是对象模型。 显然,在三大模型中,最重要的是对象模型。
6.1.2 面向对象的基本概念
6.1.2 面向对象的概念
理解面向对象的基本概念对于学习和掌握面向对象的 开发方法是十分重要的。 开发方法是十分重要的。 对象(Object) 类(Class) Class) 继承(Inheritance) Inheritance) 消息(Information) 多态性(Polymorphism) 永久对象(Persistent object) 重载
1.3.5 面向对象方法及其工作模型
面向对象的方法的代表性成果有: 面向对象的方法的代表性成果有: 1、B.Henderson-sellers 和 J.m.Edwards提出的面向对象软件 、 提出的面向对象软件 生存期喷泉模型及面向对象的系统开发方法。 生存期喷泉模型及面向对象的系统开发方法。 2、G.Booch提出的面向、P.Coad和E.Yourd提出的 、 提出的OOA和OOD法。 和 提出的 和 法 4、J. Rumbaugh等人提出的对象建模技术 、 等人提出的对象建模技术(OMT)。 等人提出的对象建模技术 。 5、Jacobson 提出的面向对象的软件工程(OOSE)。 、 提出的面向对象的软件工程 。 6、G.booch J.Rumbough Jacobson等人在 、 等人在Booch方法、OMT 方法、 等人在 方法 和OOSE的基础上推出了统一建模语言 的基础上推出了统一建模语言UML。 。 的基础上推出了统一建模语言
类图
属性 运算
颜色 位置 移动( 移动(delta:矢量) :矢量) 选择(P:指针型):布尔型 选择( 指针型) 布尔型 指针型 角度) 旋转(角度 旋转(角度)
对象图
李军 24 程序员 无
例:
Class 中国人
中国人 Attributes 中国人 Methods Class 杭州人 (子类 子类) 子类 Class 中国人 杭州人 Attributes 杭州人 Methods
6.1.2 面向对象的概念
2、 类(Class) Class) 又称对象类 对象类( Class) 类 又称 对象类 (Object Class), 是 一组具有相同属性和 相同操作的对象的集合。在一个类中,每个对象都是类的实例 相同操作的对象的集合。在一个类中,每个对象都是类的实例 它们都可以使用类中提供的函数。 (instance) ,它们都可以使用类中提供的函数。 类具有属性,用数据结构来描述类的属性,类具有操作, 类具有属性,用数据结构来描述类的属性,类具有操作, 它是对象的行为的抽象,操作实现的过程称为方法 (method) ,方法有方法名,方法体和参数。 方法有方法名,方法体和参数。 由于对象是类的实例,在进行分析和设计时, 由于对象是类的实例,在进行分析和设计时,通常把注 意力集中在类上,而不是具体的对象上。 意力集中在类上,而不是具体的对象上。
1.3.5 面向对象方法及其工作模型
模型分类续
2、OOD 法 在需求分析的基础上,进一步解决“如何作”的问题, 在需求分析的基础上,进一步解决“如何作”的问题, 法也分为概要设计和详细设计。 OOD 法也分为概要设计和详细设计。 概要设计:细化对象行为,添加新对象,认定类, 概要设计:细化对象行为,添加新对象,认定类,组类 库,确定外部接口及主要数据结构 详细设计:加细对象描述 详细设计: 3、OOP 法 使用面向对象的程序设计语言, C++进行程序设计 进行程序设计。 使用面向对象的程序设计语言,如C++进行程序设计。 Coad和Yourdon给出一个面向对象的定义 给出一个面向对象的定义: Coad和Yourdon给出一个面向对象的定义: 面向对象=对象+ 继承+ 面向对象=对象+类+继承+消息 如果一个软件系统是按照这样四个概念设计和实现的, 如果一个软件系统是按照这样四个概念设计和实现的, 则可以认为这个软件系统是面向对象的。 则可以认为这个软件系统是面向对象的。
基类
现存类定义 父类(基类) 父类(基类)
继
承
新类定义 子类(派生类) 子类(派生类)
子类A 子类
子类B 子类
图 4.3 继承性
图 4.4 继承性描述
6.1.2 面向对象的概念
4、消息(Message) 消息就是向对象发出的服务请求( 互相联系、 消息就是向对象发出的服务请求 ( 互相联系、协同工 作等) 对象之间的联系可表示为对象间的消息传递, 作等 ) 。 对象之间的联系可表示为对象间的消息传递 , 即 对象间的通讯机制。 对象间的通讯机制。 一个消息应该包含以下信息:消息名、 一个消息应该包含以下信息 : 消息名 、 接收消息对象 的标识、 消息和方法、输入信息、回答信息。 的标识、服务标识 、消息和方法、输入信息、回答信息。 在对象的操作中当一个消息发送给某个对象时, 在对象的操作中当一个消息发送给某个对象时 , 消息 包含接收对象去执行某种操作的消息。 包含接收对象去执行某种操作的消息。 注 意 : 在 并 发 系 统 中 , 多 个 控 制 线 程 ( Thread of Control)并发执行 情况就复杂得多, 并发执行, Control)并发执行,情况就复杂得多,消息可以是发出服 务请求、提交数据、发布事件信息、 务请求、提交数据 、发布事件信息、 或是传递同步控制信 息。
讲官话,这叫做“低层性质 高层性质” 讲官话,这叫做“低层性质override高层性质” 高层性质 讲土话,这叫做“县官不如现管” 讲土话,这叫做“县官不如现管”
首页
上页
下页
末页
退出
6.1.2 面向对象的概念
3、 继承 (Inheritance) Inheritance) 继承是使用现存的定义作为基础,建立新定义的技术。 继承是使用现存的定义作为基础,建立新定义的技术。是 父类和子类之间共享数据结构和方法的机制, 父类和子类之间共享数据结构和方法的机制,这是类之间的一 种关系。在定义和实现一个类的时候, 种关系。在定义和实现一个类的时候,可以在一个已经存在的 类的基础上来进行, 类的基础上来进行,把这个已经存在的类所定义的内容做为自 己的内容,并加入若干新内容。 己的内容,并加入若干新内容。 继承性分: 继承性分: 单重继承:一个子类只有一个父类。 单重继承:一个子类只有一个父类。即子类只继承一个父类 的数据结构和方法。 的数据结构和方法。 多重继承:一个子类可有多个父类。 多重继承:一个子类可有多个父类。继承多个父类的数据结 构和方法。 构和方法。
6.1.1 什么是面向对象的开发方法
面向对象技术的特点 1、对软件开发过程所有阶段进行综合考虑。 对软件开发过程所有阶段进行综合考虑。 2、软件生存期各阶段所使用的方法、技术具有高度的连续性, 软件生存期各阶段所使用的方法、技术具有高度的连续性, 用符合人类认识世界的思维方式来分析、解决问题。 用符合人类认识世界的思维方式来分析、解决问题。 3、将OOA、OOD、OOP有机地集成在一起。 、 、 有机地集成在一起。 有机地集成在一起 OOA(Object-Oriented Analysis) ( ) OOD(Object-Oriented Design) ( ) OOP(Object-Oriented Program) ( )
6.1.2 面向对象开发方法的组成
OOSD由三部分组成: 由三部分组成: 由三部分组成 OOA(Object-Oriented Analysis)面向对象的分析 面向对象的分析 OOD(Object-Oriented Design)面向对象的设计 面向对象的设计 OOP (Object-Oriented Program)面向对象的程序设计 面向对象的程序设计
6.1.2 面向对象的概念 对象和类的描述
对象和类的描述 对象和类一般采用“对象图” 对象和类一般采用“对象图” 和 “类图” 来描述。 类图” 来描述。
几何对象
类名
人 姓 名:字符串 字符串 年 龄: 整 型 改换工作 改换地址
文件 文件名 文件大小 最近更新日期 打印 图4.1 对象类的描述 (人) 人 (人) 人 张红兵 28 绘图员 人民路8号 人民路 号 图4.2 对象的描述
6.1.2 面向对象的基本概念
1、 对象(Object) 对象(Object)是客观事物或概念的抽象表述 对象 ( Object) 是客观事物或概念的抽象表述 , 即 对客 是客观事物或概念的抽象表述, 观存在的事物的描述统称为对象,对象可以是事、 观存在的事物的描述统称为对象,对象可以是事、物、或抽 象概念 ,是将一组数据和使用该数据的一组基本操作或过 程封装在一起的实体。 程封装在一起的实体 对 象 都 存 在 一 定 的 状 态 ( state), 内 部 标 识 state), identity),可以给对象定义一组运算 operation),对象 一组运算( ( identity), 可以给对象定义 一组运算 ( operation), 对象 通过其运算所展示的特定行为称为对象行为 behavior), 对象行为( 通过其运算所展示的特定行为称为对象行为(behavior),对 属性( 象本身的性质称为属性 attribute), 象本身的性质称为 属性 ( attribute), 对象将它自身的属性 及运算“包装起来” 称为“封装” encapsulation). 及运算“包装起来”,称为“封装”(encapsulation). 对象的最基本的特征是封装性和继承性。 对象的最基本的特征是封装性和继承性。