面向对象图解
面向对象系统分析与设计-UML基础-用例图
30
订货系统用例图
<<extend>> 信用卡支付 <<include>> 下订单 <<extend>> <<include>> 计算订单价钱 <<extend>> 退货处理 选择仓库 <<extend>> 退货服务 发货 顾客 缺货 发货者 收款员 付款 <<extend>> 信用卡系统
管理者
货物管理
UseCase
Actor
预定
取车
还车 客户
34
泛化关系
泛化关系(Generalization Association)是表示一般 与特殊的关系。用于共享用例的共同功能行为。用例 可以继承父用例的含义和行为,也可以对父用例的行 为进行增加和修改。子用例可以出现在父用例出现的 任何位置。 泛化关系用泛化箭线(带空心三角箭头的实线)表 示,从子用例发出,指向父用例。如果需要可以在箭 线上标出联系的名称。
32
关系
用例除了与参与者有联系以外,用例之 间还存在着一定的关系。参与者之间还存有 关系。关系类型包括: 关联关系 包含关系 扩展关系 泛化关系
33
关联关系
关联关系用于描 述参与者与用例之间 的关系。在 UML 中用 实线表示。例如,客 户启动系统的取钱功 能,表示客户启动与 用例的关联。关系方 向显示是谁启动了通 信。建立通信之后, 信息是可以双向流动 的。
面向对象分析-顺序图
把消息表示为从一个对象生命线到另一个对象生命线的一个水平实线箭头, 即从源对象指向目标对象,以触发目标对象中的特定操作。对于对象到自身的 消息,箭头就从同一个对象符号开始和结束。
用消息(操作或信号)的名字及其参数值或者参数表达式标示箭头。
用如下种类的箭头表示不同种类的通讯:
同步消息
一般把它用于普通的过程调用。在外层控制恢复之前,要完成整个嵌套序列。 通常把它用于普通的过程调用。 若在一个主动对象发送信号并等待完成一个嵌套的行为序列才继续时,也可以 把它用于并发的主动对象。 同步消息返回 用它显式地表示从过程调用的返回。在控制的过程流中,可以省略返回箭头 (暗示执行规约结束),假设每个调用在任何消息后都有一个配对的返回,并可以 把返回值标示在初始的箭头上。
5.1
概念与表示法
1、概述 顺序图是一种详细表示对象之间以及对象与参与者实例之间交 互的图,它由一组协作的对象(或参与者实例)以及它们之间可发 送的消息组成,它强调消息之间的顺序。
由对象(参与者) 、消息、生命线和执行规约组成。
[对象名]:类名
从图中可以看出顺序图是二维的,其中: 垂直方向表示时间,水平方向表示不同的对 象或参与者。 通常时间维由上到下(根据需要,也可以 由下到上)。通常只有时间顺序是重要的, 但在实时应用中时间轴是能度量的。 对象的水平顺序并不重要,相应地生命线 之间的顺序可以是任意的。
3、执行规约
执行规约表示一个对象直接或者通过从属 例程执行一个行为的时期。它既表示了行 为执行的持续时间,也表示了活动和它的 调用者之间的控制关系。 用一个窄长的矩形表示执行规约,矩形 顶端和它的开始时刻对齐,末端和它的结 束时刻对齐。 在程序的控制流中,执行规约符号的顶 端画在进入的箭头的尖端(开始该动作的 那个箭头),底端画在返回的箭头的尾部。
《面向对象的》课件
多态
允许一个接口多种形态存 在,即一个接口可以有多 个实现方式,增强了代码 的灵活性和可扩展性。
面向对象与面向过程的区别
面向对象强调的是对象之间的交互和关系,注重的是系统的整体性和复用性;而面 向过程则更注重程序的执行流程和算法的实现。
面向对象编程将数据和操作封装在一起,形成具有特定属性和行为的对象,更符合 人类的思维习惯;而面向过程编程则更注重功能模块的划分和调用。
C#
总结词
C#是一种面向对象的编程语言,由微软公司开发,具有语法严谨、易于上手的特点。
详细描述
C#语言支持类和对象的概念,提供了丰富的API和库,广泛应用于Windows桌面应用程序开发、游戏 开发等领域。C#还支持跨平台开发,可以在其他操作系统上运行。
04
面向对象的应用领域
游戏开发
游戏策划
面向对象编程有助于更好地设计和组 织游戏策划,将游戏的各种元素(如 角色、物品、关卡等)视为对象,便 于管理和扩展。
详细描述
继承是面向对象编程中的重要概念,它允许创建分等级的类。基类(也称为父类 )定义了共享的属性和方法,派生类(也称为子类)继承这些属性和方法,并可用变量来引用子类对象,调用子类 重写的方法。
详细描述
多态允许一个接口被多个类实现,一个接口引用变量可以指 向任何实现该接口的类的对象。当通过接口引用变量调用方 法时,将根据实际对象的类型来决定调用哪个实现类的方法 。
面向对象编程通过类和对象的概念实现代码的重用和扩展,提高了软件的可维护性 和可复用性;而面向过程编程则更注重程序的执行效率和算法的优化。
02
面向对象的主要技术
类与对象
总结词
类是对象的抽象,对象是类的实 例。
详细描述
面向对象(二):类空间问题以及类之间的关系
⾯向对象(⼆):类空间问题以及类之间的关系类的空间问题添加对象属性class A:def__init__(self,name): = namedef func(self,sex):self.sex = sex# 类外⾯可以:obj = A('barry')obj.age = 18print(obj.__dict__) # {'name': 'barry', 'age': 18}# 类内部也可以:obj = A('barry') # __init__⽅法可以。
obj.func('男') # func ⽅法也可以。
总结:对象的属性不仅可以在__init__⾥⾯添加,还可以在类的其他⽅法或者类的外⾯添加。
添加类的静态属性class A:def__init__(self,name): = namedef func(self,sex):self.sex = sexdef func1(self):A.bbb = 'ccc'# 类的外部可以添加A.aaa = 'taibai'print(A.__dict__)# 类的内部也可以添加。
A.func1(111)print(A.__dict__)总结:类的属性不仅可以在类内部添加,还可以在类的外部添加。
对象如何找到类的属性实例化⼀个对象,可以通过点的⽅式找到类中的属性,那么他为什么可以找到类中的属性呢?通过图解说明:对象查找属性的顺序:先从对象空间找 ------> 类空间找 ------> ⽗类空间找 ------->.....类名查找属性的顺序:先从本类空间找 -------> ⽗类空间找--------> ........上⾯的顺序都是单向不可逆,类名不可能找到对象的属性。
类与类之间的关系⼤千世界, 万物之间皆有规则和规律. 我们的类和对象是对⼤千世界中的所有事物进⾏归类. 那事物之间存在着相对应的关系. 类与类之间也同样如此. 在⾯向对象的世界中. 类与类中存在以下关系:1. 依赖关系2. 关联关系3. 组合关系4. 聚合关系5. 实现关系6. 继承关系(类的三⼤特性之⼀:继承。
面向对象程序设计(共13张PPT)
对象的使用主要体现在对其成员的引用上,对 象只能访问公有成员,一般格式为:
<对象名> . <公有成员数据名>
<对象名> . <公有成员函数名>(<参数表>)
prev
next
back
第5页,共13页。
9.2 类的使用
9.2.2 对象的使用
成员选择运算符 这里的符号“.”称为 对象数组的元素通过缺省构造函数而得到初始化。
4. 一个类的对象可作为另一个类的成员,
prev
称为对象成员。
next
back
第7页,共13页。
9.2 类的使用
9.2.3 对象数组和对象指针
定义一维对象数组的一般格式为:
《存储类型》<类名> <对象数组名>[<常量表达式
>];
对象数组中的每个元素可以象一般的对 象使用。
注意,在说明对象数组时,不能对它进 行初始化。对象数组的元素通过缺省构
第12页,共13页。
9.2 类的使用
9.2.5 类实现数据的封装
对象的封装性是指将对象的属性(成员数据)和 作用于这些属性上的操作(成员函数)封装在一 起,对象的使用者只能通过提供给它的接口
(公有成员函数)使用这个对象。
类通过对其成员设计不同的访问权限实现数据的
封装。公有成员是类的外部表现(在类外可以对 其进行访问和修改),而私有和保护成员则被 隐藏了。
prev
在定义类时,通常将该类的所有属性(成员数
据)和只供内部调用的操作(成员函数)定义为私
next
有成员或保护成员。
例9.5
back
面向对象中包括哪些UML图及每件图的作用
面向对象中包括哪些UML图及每件图的作用UML面向对象分析及其包括的图、建模步骤一、叙述基于UML的面向对象分析设计过程1)识别系统的用例和角首先对项目进行需求调研,依据项目的业务流程图和数据流程图以及项目中涉及的各级操作人员,通过分析,识别出系统中的所有用例和角色;接着分析系统中各角色和用例间的联系,再使用UML建模工具画出系统的用例图,同时,勾画系统的概念层模型,借助UML建模工具描述概念层类图和活动图。
2)进行系统分析,并抽象出类系统分析的任务是找出系统中所有需求并加以描述,同时建立特定领域模型。
建立域模型有助于开发人员考察用例,从中抽取出类,并描述类之间的关系。
3)设计系统和系统中的类及其行为设计阶段由结构设计和详细设计组成。
①结构设计是高层设计,其任务是定义包(子系统),包括包间的依赖关系和主要通信机制。
包有利于描述系统的逻辑组成部分以及各部分之间的依赖关系。
②详细设计就是要细化包的内容,清晰描述所有的类,同时使用UML的动态模型描述在特定环境下这些类的实例的行为。
二、面向对象中包括哪些UML图及每件图的作用UML图包括九种:用例图、类图、对象图、状态图、时序图、协作图、活动图、组件图、配置图。
1)用例图(UseCaseDiagram)它是UML中最简单也是最复杂的一种UML图。
说它简单是因为它采用了面向对象的思想,又是基于用户视角的,绘制非常容易,简单的图形表示让人一看就懂。
说它复杂是因为用例图往往不容易控制,要么过于复杂,要么过于简单。
用例图表示了角色和用例以及它们之间的关系。
2)类图(ClassDiagram)是最常用的一种图,类图可以帮助我们更直观的了解一个系统的体系结构。
通过关系和类表示的类图,可以图形化的方式描述一个系统的设计部分。
3)对象图UML面向对象中对象图是类图的实例,几乎使用与类图完全相同的标识。
它们的不同点在于对象图显示类的多个对象实例,而不是实例的类。
一个对象图是类图的一个实例。