第11讲-面向对象分析与设计讲义

合集下载

面向对象设计精品PPT课件

面向对象设计精品PPT课件

理想的设计变动情况
2021/1/9
大连理工大学软件学院
15
11.4 系统分解
• 大多数系统的面向对象设计模型,在逻辑上都由 四大部分组成。分别是问题域子系统,人-机交互 子系统、任务管理子系统和数据管理子系统。
• 这四个子系统如果重要程度和规模过大,在设计 过程中应该进一步划分成更小的子系统,规模过 小的可合并在其他子系统中。
1. 2. 3. 4. 不要提供太多服务(保持适当内聚的基础上)
2021/1/9
大连理工大学软件学院
13

– 消息中的参数不要超过3个。

– 设计出来的类中的服务通常都很小,有的仅 3~5行源程序语句,可以用一个动词和一个 宾语的简单句子描述功能。
• 把设计变动减至最小(结构稳定)
– 设计质量越高,设计结果保持不变的时间也 越长 (Refactoring)
– 单向交互比双向交互更容易理解,也更容易 设计和修改,因此应该尽量使用客户—供应 商关系。
2021/1/9
大连理工大学软件学院
18
• • 把子系统组织成完整的系统时,有水平层次组织
1. 层次组织
– 把软件系统组织成层次系统,每层是一个子系统。 – 上层在下层的基础上建立,下层为实现上层功能而提
供必要的服务。
2021/1/9
大连理工大学软件学院
11
11.2 启发规则
• • 提高软件可维护性和可重用性重要措施。
1. 用词一致 2. 使用已有的协议(重载) 3. 减少消息模式的数目 4. 避免模糊的定义
2021/1/9
大连理工大学软件学院
12
• 一般—
– 应该使类等级中包含的层次数适当。

面向对象分析与设计

面向对象分析与设计

面向对象分析与设计在软件开发过程中,面向对象分析与设计(Object-Oriented Analysis and Design,简称OOAD)是一种重要的方法论。

通过OOAD,开发者可以将现实世界中的概念和问题转化为软件系统的结构和行为。

一、什么是面向对象分析与设计?面向对象分析与设计是一种以对象为核心的开发方法。

它强调将问题领域的实体、关系和行为抽象为对象、类和方法。

面向对象的分析阶段主要关注问题领域的需求和约束,而设计阶段则更关注如何将需求转化为可执行的软件系统。

二、面向对象分析与设计的优势1. 模块化:面向对象的方法将复杂的系统拆分为多个独立的对象,每个对象都有清晰的职责和接口。

这种模块化可以提高代码的可维护性和可复用性。

2. 继承与多态:继承是面向对象编程中的重要特性,它允许新的类继承已有类的属性和方法。

多态则允许对象在不同上下文中表现出不同的行为。

这些特性使得代码更加灵活和易于扩展。

3. 封装与信息隐藏:面向对象的方法将数据和操作封装在对象内部,外界只能通过对象的接口进行交互。

这种封装和信息隐藏可以保护数据的完整性和安全性。

4. 规范化的开发流程:面向对象的分析与设计有一套规范的开发流程,包括需求分析、概念设计、详细设计和实现等阶段。

这种流程可以提高开发效率,并减少错误和重复工作。

三、面向对象分析与设计的过程1. 需求收集与分析:在这个阶段,开发者与用户密切合作,收集和分析系统的业务需求。

通过访谈、文档分析等方法,确定系统的功能、性能和约束等方面的要求。

2. 概念设计:在概念设计阶段,开发者将业务需求转化为概念模型。

通过绘制用例图、类图、状态图等工具,描述系统的结构和行为。

3. 详细设计:在详细设计阶段,开发者将概念模型进一步细化,确定具体的类和接口。

同时,还需要考虑系统的性能、安全和可维护性等方面的问题。

4. 编码与测试:在编码阶段,开发者根据详细设计的要求,使用具体的编程语言实现系统。

面向对象分析与设计基础知识全掌握

面向对象分析与设计基础知识全掌握

面向对象分析与设计基础知识全掌握在软件开发领域,面向对象分析与设计(Object-Oriented Analysis and Design,简称OOAD)是一种广泛应用的方法论。

它以对象为核心,通过抽象、封装、继承和多态等特性,实现对软件系统的理解和构建。

本文将全面介绍面向对象分析与设计的基础知识,帮助读者全面掌握这一方法。

一、面向对象思想的基本概念面向对象思想是现代软件开发的基石,理解其中的基本概念对于深入学习面向对象分析与设计至关重要。

1.1 类和对象在面向对象的世界里,类是对象的抽象和模板,定义了对象的属性和行为。

类可以看作是一种数据类型的定义,它具有封装、继承和多态的特性。

而对象是类的实例,是具体的、可以被使用的实体。

1.2 封装封装(Encapsulation)指将数据和对数据的操作封装在一个类中,通过访问权限控制,隐藏对象的内部细节,仅向外部提供必要的接口。

封装提高了代码的安全性和复用性,减少了代码的耦合度。

1.3 继承继承(Inheritance)是面向对象编程中的重要概念,它允许我们创建新的类,从已存在的类中继承属性和方法。

继承可以提高代码的可扩展性和复用性,实现了代码的层次化组织。

1.4 多态多态(Polymorphism)是面向对象编程中的另一个重要概念,它允许不同类的对象对同一消息作出响应,实现了不同对象之间的互换使用。

多态提高了代码的灵活性和可维护性。

二、面向对象分析与设计的过程面向对象分析与设计是一种系统化的方法,它通过一系列步骤来分析和设计软件系统。

下面是面向对象分析与设计的基本过程。

2.1 需求获取需求获取是面向对象分析与设计的第一步,通过与用户沟通、分析文档等方式,准确地理解用户的需求和期望。

在这一阶段,我们需要收集用户需求并进行整理和分析。

2.2 需求分析需求分析是根据获取到的需求,进一步分析需求的优先级、相互关系和约束条件等。

通过需求分析,我们可以消除需求的模糊性和冲突,为后续的设计工作提供准确的依据。

面向对象的设计与分析课件

面向对象的设计与分析课件
例如
//myheadfile1.h
#include myheadfile2.h
……
//myheadfile2.h
#include myheadfile1.h
……
整理ppt
7
为了避免上述情况的发生,引入了条件预处 理指令,用来判断是否已经包含了某个头函 数或头函数的某个部分,若已经包含了某个 头函数或头函数的某个部分,则在以后遇到 要求再包含该头函数或头函数的该部分时, 跳过包含指令#include ,以避免头文件重复 包含或循环调用的情况。条件预处理指令包 括:
//定义四个双精度型变量
credit1 = 3.0; //给变量赋值 credit2 = 4.0; credit3 = 2.0; average =
(credit1*score1+credit2*score2+credit3*score3)/
(credit1+credit2+credit3); //计算表达式的值,并赋给变量
例如
#include <math.h> #include <iostream.h> ………
整理ppt
6
(2) 条件预处理指令 由于被预处理包含指令#include所指定的头文件
中也可以使用#include指令包含别的头文件,因此 就可能出现头文件嵌套包含甚至是头
cout<<“第一门功课成绩:”; //显示提示信息
cin>>score1;
//接受用户输入
cout<<"第二门功课成绩:";
cin>>score2;
cout<<"第三门功课成绩:";

面向对象分析与设计

面向对象分析与设计

面向对象分析与设计面向对象分析与设计(Object-oriented analysis and design)是软件工程领域中的一种方法论,用于解决软件系统开发过程中的问题和需求。

本文将对面向对象分析与设计的基本概念、流程和常用方法进行介绍,并附带答案和解析。

第一部分:面向对象分析(Object-oriented analysis)面向对象分析是软件开发过程中的第一步,旨在理解问题域并建立领域模型。

面向对象分析有以下几个重要概念:1. 对象(Object):对象是系统中的一个实体,包含数据和方法。

对象可以是具体的实物、虚拟的概念或一组相关的数据和行为。

2. 类(Class):类是一种抽象的定义,描述了一组具有相同特征和行为的对象。

3. 属性(Attribute):属性是对象的特征,用于描述对象的状态。

4. 方法(Method):方法是对象的行为,用于描述对象可以执行的操作。

面向对象分析的主要流程包括以下步骤:1. 需求收集:收集系统的需求,与利益相关者沟通,了解系统的功能和性能要求。

2. 领域建模:对现实世界的问题域进行抽象和建模,识别出系统中的对象和它们之间的关系。

3. 需求分析与规约:通过使用用例、活动图和状态图等工具对需求进行分析和规约,明确功能和交互细节。

4. 领域模型验证:与利益相关者验证领域模型的准确性和实用性,确保模型能够满足系统需求。

第二部分:面向对象设计(Object-oriented design)面向对象设计是在面向对象分析的基础上,进一步细化领域模型,为系统的实现提供指导。

面向对象设计有以下几个常用方法:1. 类图(Class diagram):类图用于展示类、属性和方法之间的关系。

类图包括类的名称、属性和方法,并通过关联、继承和聚合等关系展示类之间的联系。

2. 对象图(Object diagram):对象图用于展示类的实例和对象之间的关系。

对象图是类图的实例化表示,展示了系统在某一时刻的对象及其特定的属性值。

面向对象的分析和设计.ppt

面向对象的分析和设计.ppt
23
子系统的设计准则是: (1) 子系统应具有定义良好的接口,通过接口 和系统的其它部分通信; (2) 除了少数的“通信类” 外,子系统中的类 应只和该子系统中的其它类协作; (3) 子系统的数量不宜太多; (4) 可以在子系统内部再次划分,以降低复杂 性。
24
2) 标识问题本身的并发性,并为子系统分配 处理器 通过对对象--行为模型的分析,可发现系 统的并发性。如果对象(或子系统)不是同时 活动的,则它们不需并发处理,此时这些对象 (或子系统)可以在同一个处理器上实现。反 之,如果对象(或子系统)必须对一些事件同 时异步地动作,则它们被视为并发的,此时, 可以将并发的子系统分别分配到不同的处理器, 或者分配在同一个处理器,而由操作系统提供 并发支持。
15
5. 多态性(polymorphism) 多态性是指同一个操作作用于不同的对象 上可以有不同的解释,并产生不同的执行结 果。例如“画”操作,作用在“矩形”对象 上,则在屏幕上画一个矩形,作用在“圆” 对象上,则在屏幕上画一个圆。也就是说, 相同操作的消息发送给不同的对象时,每个 对象将根据自己所属类中定义的这个操作去 执行,从而产生不同的结果。
16
6. 动态绑定(dynamic binding) 动态绑定是指在程序运行时才将消息所请 求的操作与实现该操作的方法连接起来。 传统的程序设计语言的过程调用与目标 代码的连接(即调用哪个过程)放在程序运 行前(即编译时)进行(称为静态绑定), 而动态绑定则是把这种连接推迟到运行时才 进行。 动态绑定是一种在运行时确定被执行代 码的技术。
模型元素指模型中的实体以及实体间相互连接的关系
类 属性 操作 主动类 属性 操作 对象:类 属性 操作
用况
结点
状态

面向对象分析与设计

面向对象分析与设计

面向对象分析与设计面向对象分析与设计(Object-Oriented Analysis and Design,OOAD)是一种在软件工程中常用的方法论,它以面向对象的思维方式来进行软件系统的分析和设计。

本文将对面向对象分析与设计的概念、主要步骤和设计原则进行详细介绍。

一、概念面向对象分析与设计是一种将实际问题抽象为对象和类的方法。

它将问题空间中的实体、行为和关系转化为软件系统中的对象、方法和类,并且通过封装、继承和多态等机制来实现软件系统的模块化和可维护性。

二、主要步骤1. 需求分析:通过与用户沟通,获取系统需求,并将需求转化为用例模型或用户故事。

在需求分析阶段,可以使用用例图、活动图等工具来描述系统的功能和用户的交互过程。

2. 领域建模:通过分析问题领域中的实体、行为和关系,构建领域模型。

领域模型可使用类图、状态图等工具来表示,它可以帮助开发团队更好地理解和把握系统的核心概念。

3. 概念架构设计:根据需求和领域模型,设计概念架构,也称为系统架构。

概念架构是一个逻辑上的模型,它描述了系统的整体结构和各个模块之间的关系。

常见的概念架构模式有层次结构、客户-服务器和发布-订阅等。

4. 详细设计:在概念架构的基础上,对系统进行详细设计。

详细设计包括定义类的具体属性和方法、设计模块之间的接口和通信方式等。

可以使用类图、时序图等工具来进行详细设计。

5. 编码和测试:根据详细设计文档进行编码,并编写对应的单元测试和集成测试。

编码应遵循面向对象的编程原则,例如封装、继承和多态等。

测试阶段需要验证代码的正确性和功能完整性。

三、设计原则1. 单一职责原则(Single Responsibility Principle,SRP):一个类应该只有一个引起它变化的原因。

这样可以降低类的复杂度,提高代码的可维护性。

2. 开闭原则(Open-Closed Principle,OCP):软件实体应该对扩展开放,对修改封闭。

通过使用抽象和接口,可以实现系统的可扩展性,而不需要修改已有的代码。

面向对象分析与设计基础知识讲解

面向对象分析与设计基础知识讲解

面向对象分析与设计基础知识讲解面向对象分析与设计(Object-oriented analysis and design,简称OOAD)是软件工程领域中重要的一部分。

它是指通过对现实世界的事物进行抽象和建模,以实现软件系统的开发和设计。

本文将介绍面向对象分析与设计的基础知识,包括面向对象的概念、面向对象分析和面向对象设计的过程。

一、面向对象的概念面向对象是一种软件开发方法,将现实世界抽象成为对象和对象之间的关系。

在面向对象的设计中,对象是系统中具体的实体,它包含了数据和操作数据的方法。

对象之间通过消息传递来完成协作和交互,从而实现系统的功能。

面向对象的四个基本概念:1. 类(Class): 类是对象的抽象,它定义了对象的属性和行为。

每个对象都是根据类的定义创建的。

2. 对象(Object): 对象是类的实例,它具有类定义的属性和行为。

每个对象都有唯一的身份,可以通过引用来访问。

3. 继承(Inheritance): 继承是指通过已有的类创建新的类,新类继承了原有类的属性和行为。

继承使得代码的复用更加方便,也提高了代码的可维护性。

4. 多态(Polymorphism): 多态是指同一个方法可以根据不同的对象产生不同的行为。

多态通过继承和接口实现。

二、面向对象分析(OOA)面向对象分析是软件开发中的第一步,它的目标是理解系统的需求,确定系统中的对象以及它们之间的关系。

面向对象分析主要包括以下步骤:1. 确定系统的边界和范围:明确系统要解决的问题和目标。

2. 确定系统的对象:从需求文档中提取对象,并识别它们之间的关系。

3. 定义对象的属性和行为:确定每个对象的属性和操作。

4. 划分对象的责任:将对象的操作分配到合适的对象上,确保每个对象的职责明确。

三、面向对象设计(OOD)面向对象设计是根据面向对象分析的结果,通过定义类和交互关系来实现系统的设计。

面向对象设计要考虑到系统的可扩展性、可维护性和可重用性。

面向对象分析与设计

面向对象分析与设计

面向对象分析与设计一、引言面向对象分析与设计(Object-Oriented Analysis and Design,简称OOAD)是软件工程中的一种方法论,用于解决复杂系统的设计与开发问题。

本文将介绍面向对象分析与设计的概念、原则和过程,并结合实际案例说明其重要性和应用。

二、概念解析1. 面向对象分析(Object-Oriented Analysis,简称OOA):通过识别和描述系统所涉及的对象及其相互关系,以及对象的属性和行为,从而确定系统需求和问题领域的分析方法。

2. 面向对象设计(Object-Oriented Design,简称OOD):基于面向对象分析的结果,通过定义类、抽象数据类型、方法、接口等概念,设计出系统的结构和组织,以及类之间的关系和交互方式。

三、面向对象分析与设计的原则1. 单一职责原则(Single Responsibility Principle,简称SRP):一个类只负责一项职责,保证类的内聚性和高内聚性。

2. 开放封闭原则(Open-Closed Principle,简称OCP):系统中的类、模块等应该对拓展开放,对修改封闭,通过继承、接口等方式实现。

3. 里氏替换原则(Liskov Substitution Principle,简称LSP):所有引用基类的地方必须能透明地使用其子类的对象,即子类必须能够替换基类。

4. 依赖倒置原则(Dependency Inversion Principle,简称DIP):高层模块不应该依赖于底层模块,二者都应该依赖于抽象;抽象不应该依赖于具体,具体应该依赖于抽象。

5. 接口隔离原则(Interface Segregation Principle,简称ISP):客户端不应该依赖于它不需要的接口,接口应该进行细化拆分以适应不同的场景和客户端需求。

6. 迪米特法则(Law of Demeter,简称LoD):一个对象应该对其他对象有尽可能少的了解,减少耦合性,降低系统的复杂度。

面向对象的设计与分析课件

面向对象的设计与分析课件

WENKU DESIGN
2023-2026
END
THANKS
感谢观看
KEEP VIEW
WENKU DESIGN
WENKU DESIGN
WENKU
REPORTING
https://
PART 01
面向对象的基本概念
对象与类
对象
现实世界中的事物或概念在面向对象 编程中的表示。每个对象都有其属性 (状态)和方法(行为)。

对象的抽象,定义了一组具有相同属 性和方法的对象的共同特征。类是对 象的模板或蓝图。
封装与继承
封装
将对象的属性和方法封装在一起,隐藏对象的内部实现细节,只通过对象的方法来访问其属性。
目的
提高类的可维护性和可复用性,降低类之间的耦 合度。
示例
一个表示用户的类,只负责存储和提供用户数据, 不包含其他如登录、注册等操作。
开闭原则
定义
软件实体应该对扩展开放,对修改封闭。即软件实体应该通过扩 展来实现变化,而不是通过修改已有的代码来实现变化。
目的
提高软件的可维护性和可复用性,降低修改代码的风险。
目的
降低类之间的耦合度,提高系统的可维护性和可复用性。
示例
使用接口或抽象类来实现高层模块和低层模块之间的依赖关系, 而不是直接依赖于具体实现类。
PART 03
面向对象的分析方法
识别对象与类
01
确定问题域中的实 体
通过分析问题背景,识别出问题 域中的实体,如人、事物、组织 等。
02
抽象出对象的属性 和行为
VS
继承的实现
继承的实现方式因编程语言而异。在Java 中,子类通过使用关键字"extends"来继 承父类。在C中,子类通过在类名前使用 冒号":"来实现继承。

软件工程第11章面向对象设计

软件工程第11章面向对象设计

2. 重用已有的类
重用已有类(代码重用)实现分析模型;若没有可以重用类而需要创建新 类时,则在设计这些新类时需要考虑其可重用性。
对于已有的可重用类,典型重用方法和过程如下: 1)选择可能被重用的已有类,标出类中对本问题无用的属性和服务,选 择那些能使无用的属性和服务最少的类; 2)从被重用的已有类派生出问题域类(继承重用类而产生问题域类); 3)标出从已有类继承来的属性和服务,而无须在分析类内定义;
6. 可重用
软件重用是提高软件开发生产率和目标系统质量的重要途径。 重用有两方面的含义: 一是尽量使用已有的类(类库或已建立的类), 二是如果确实需要创建新类,则在设计这些新类的协议时,应该考虑将 来的可重复使用性。
11.2
启发规则
与结构设计规则类似,通过OOD实践也总结了一些设计规则: 1. 设计结果应该清晰易懂 设计结果清晰、易读、易懂,是提高软件可维护性和可重用性的重要 措施。保证设计结果清晰易懂的主要因素为:用词一致;使用已有的 协议;避免模糊的定义等。
1)层次组织:这种组织方案把软件系统组织成一个层次系统,每层是一 个子系统。上层和下层自系统形成C/S结构 层次结构的两种模式:封闭式和开放式:封闭式,每层子系统仅仅使用其 直接下层提供的服务;开放式,任一层次可以向下跨层次调用。 2)块状组织:把软件系统垂直地分解成若干个相对独立的、松耦合的子 系统,一个子系统相当于一块,每块提供一种类型的服务。
第11章
11.1 11.2 11.3 11.4 11.5 11.6 11.7 11.8 11.9 11.10 11.11
面向对象设计
面向对象设计的准则 启发规则 软件重用 系统分解 设计问题域子系统 设计人机交互子系统 设计任务管理子系统 设计数据管理子系统 设计类中的服务 设计关联 设计优化
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
要求某个对象执行类中所定义的某个操作的规格说明。 消息由3个部分组成:
接受消息的对象; 消息选择符(消息名); 零个或者多个参数。
例如:MyCircle是一个半径4厘米,圆心位于 (100,200)的Circle类的对象,也就是 Circle类对象的一个实例。当要求它以绿色 在屏幕上显示自己时,则应该发送下列消息 :
实 例 化
抽 象

映射
现实世界
实体
抽 象
计算机逻辑的实现
抽象数据类
概念世界
上海财经大学信息管理与工程学院
面向对象方法学概述
第11讲 面向对象分析与设计
面向对象与结构化技术的比较
思维方法
结构化技术
以算法为核心,数据和过程分离; 让现实向计算机靠拢
稳定性 可重用性
开发过程基于功能分析和功能分解, 软件结构依赖于功能,需求发生变化 引起软件结构的整体修改,系统不稳 定
对象是主动的。对象是进行处理的主体,不能从外部直接处理对象的私有
数据,而必须通过它的共有接口向对象发消息,请求它执行某个操作,处理
它的私有数据。
实现了数据封装。对象的私有数据完全被封装,对外隐藏。对私有数据的
访问只需要知道数据取值范围和可以施加的操作,而无法知道数据的具体结
构和实现操作的算法。
本质上具有并行性。不同对象各自独立地处理自身数据,彼此通过发消息
一起的程序单元。
从用户的角度看,对象是一种具有某种属性和服务行为的事物。
操作1 操作2 操作3
状态S 操作1.2.3的实现
上海财经大学信息管理与工程学院
面向对象的概念

对象的特点
第11讲 面向对象分析与设计
以数据为中心。操作围绕对其数据所需要的处理来设置,不设置与这些数
据无关的操作,而且操作结果与当时所处状态(数据值)有关。
组合而成。
▪ 把所有对象都划分成各种对象类,每个对象类定义了一组数据和方法。
▪ 类中数据表示对象静态属性,是对象的状态信息; ▪ 类中方法表示对象动态属性,是允许施加在该类对象上的操作; ▪ 类中的方法是该类所有对象共享的,不需要为每个对象都复制操作代码。
▪ 按照子类(派生类)和父类(基类)的关系,把若干对象组成一个层次结构的系
可以通过创建类实例重复使用一个对象类, 继承机制也使得子类可以重用父类代码和数 据结构,而且可以在父类代码基础上修改扩 充。 修改一个类很少会影响其它类,易于测试和 调试。
上海财经大学信息管理与工程学院
面向对象的概念
第11讲 面向对象分析与设计
对象
从软件开发人员角度看,对象是一种将数据和处理这些数据的操作合并在
方法描述了对象执行操作的算法。
例如:为了Circle类的对象能够响应在屏幕 上显示自己的消息Show(GREEN),在Circle 类中必须给出成员函数Show(int color)的定义 ,也就是要给出成员函数的实现代码。
上海财经大学信息管理与工程学院
第11讲 面向对象分析与设计
面向对象的概念
类 消息:
MyCircle.Show(GREEN) MyCircle是接受消息的对象名称; Show是消息名; 括号内的GREEN是消息的参数。
上海财经大学信息管理与工程学院
面向对象的概念
面向对象思想的三大特性
面向对象
第11讲 面向对象分析与设计
封装
继承
面向对象的三大特性
多态
上海财经大学信息管理与工程学院
面向对象的概念
上海财经大学信息管理与工程学院
面向对象的概念
第11讲 面向对象分析与设计
属性:
类中所定义的数据,它是对客观世界实体所具有的性质的抽象。类的
每个实例都有自己特有的属性值。
例如:Circle类中定义的代表圆心坐标、半 径、颜色等的数据成员,就是圆的属性。
方法:
对象所能执行的操作,也就是类中定义
的服务。
统。
▪ 下层的派生类具有和上层的基类相同的特性(数据和方法)。
▪ 对象间仅能通过传递消息实现彼此通信。
▪ OO= 对象 + 类 + 继承 + 消息通信
上海财经大学信息管理与工程学院
面向对象方法学概述
实体与对象的关系
▪ 实体——现实世界 ▪ 对象——计算机世界
第11讲 面向对象分析与设计
Байду номын сангаас计算机世界
对象
完成通信,本质上有并行工作的属性。
模块独立性好。对象以数据为中心,操作围绕对其数据所需的处理设置,
没有无关操作,内聚性强;完成对象功能所需的数据和方法封装在对象内部
,与外界联系少,耦合性松。
上海财经大学信息管理与工程学院
面向对象的概念

第11讲 面向对象分析与设计
类:
类是某些对象共同特征的表示 类是创建对象的模板,对象是类的实例 类描述对象的属性名及类型、对象方法的实现途径 类的所有实例(对象)具有相同的属性名称及类型、相同的方法
利用标准函数库进行重用,标准函数 缺乏柔性,不能适应各种场合的不同 需要。
可维护性 开发围绕功能进行,上层模块控制下 层模块,修改某个模块会影响到上层 和下层模块,稳定性较差。
面向对象技术
数据与操作封装; 让计算机世界向现实世界靠拢
基于构造问题领域的对象模型,软件结构是 根据问题领域的模型构造的,当需求变化时 不会引起软件结构的整体变化,稳定性好

第11讲 面向对象分析与设计
1.封装
实现信息隐藏,对外界隐藏了对象的实现细节。 使用对象时,只需要知道它向外界提供的接口形式,无法知道它的数
据结构细节和实现操作的算法。
对象具有封装性的条件:
有一个清晰边界,所有私有数据和实现操作的代码都封装在这个边界
内,从外部看不见,也不能直接访问。
有确定的接口(即协议)。这些接口就是对象可以接受的消息,只能
第11讲 面向对象分析与设计
系统分析与设计
上海财经大学信息管理与工程学院
本讲主要内容
▪面向对象方法学概述 ▪面向对象的系统概念 ▪面向对象开发过程 ▪面向对象建模方法
第11讲 面向对象分析与设计
上海财经大学信息管理与工程学院
面向对象方法学概述
第11讲 面向对象分析与设计
面向对象方法学的要点
▪ 客观世界由对象组成;任何事物都是对象;复杂对象可以由简单对象以某种方式
、相同的消息响应方式
例如:三个圆心位置、半径大小和颜色不同 的圆,是三个不同对象,但都有相同数据( 圆心坐标、半径、颜色)和相同操作(显示 自己、在屏幕上移动、放大缩小半径等), 因此是同一类事物。定义为 Circle类。
注意:对象可以指某个具体对象, 也可以泛指一般对象。当用到实例 时,必然指一个具体对象。
相关文档
最新文档