UML-类图和对象图

目录

类图概述:

1.类:

2.属性:

3.类的表示:

4.五种方法:

类图的关系:

1.关联

2.聚合

3.组合

4.依赖

5.泛化

6.实现

对象图概述:

1. 对象图包含元素:

2. 什么是对象

3.对象的状态可以改变:

4.对象的行为

5.对象标识:

类和对象的区别:


类图概述:

类图(Class diagrams):用于定义系统中的类,包括描述类的内部结构和类之间的关系。类图主要用于描述系统的系统的静态结构

什么是类,类是对一组具有一组相同的数据

1.类:

2.属性:

3.类的表示:

4.五种方法:

类图的关系:

1.关联

·普通关联

 ·关联名

应用于关联修饰

1)名称(Association name):用以描述该关系的性质

2)角色(Role):当一个类处于关联的某一端时,该类就在这个关系种扮演了一个特定的角色;角色是关联中靠近它的一端的类对另外端的类呈现的职责

3)多重性(Multiplicity):关联角色的多重性是说明一个关联的实例中有多少个相互连接的对象

关联举例

关联

两个对象之间的连接(Link)本身可以拥有自己的属性和行为,如果把连接看作是一个类的实例,则该类称为关联类

自身关联:一个对象与另一个同类的想有连接(link),即类可以与自身有关联

2.聚合

 -”整体/部分”

   -空心菱形

3.组合


4.依赖

依赖是一种使用关系,它说明一个规格说明的变化可能影响到使用它的另一个事物。但反之未必

5.泛化

  泛化关系继承关系:指一个类(子类、子接口)继承(extends)另一个类(父类、父接口)的功能,并可以正价自己额外的一些功能,继承是类于类或接口与接口之间最常见的关系;

继承分为:单重继承和多重继承

单重继承:

多重继承:

6.实现

实现是类元之间的语义关系,在该关系中一个类元描述了另一个类元描述了另一个类元保证实现契约。

 

对象图概述:

     对象图(object diagrams):对象图是类图的一个各个对象之间的关系,描述一个系统在某个具体时刻的静态结构,而类图描述所有可能得情况

1. 对象图包含元素:

     -对象
     -连接
     -包

2. 什么是对象

3.对象的状态可以改变:

ID、名字等

4.对象的行为

·行为反应了一个对象将如何响应其他对象

小明打电话让正在搬砖的小亮过去找他一趟

5.对象标识:

图1.存钱
图2.听语言
图3.看书
图4.开灯
图5.浇花

类和对象的区别:

特性/维度类图(Class Diagram)对象图(Object Diagram)
定义描述系统中类的静态结构,包括类、接口、以及它们之间的关系。描述系统在某一具体时刻的静态结构,展示对象的实例及其之间的关系。
关注点类的定义、属性、方法以及类之间的各种关系(如继承、关联等)。实际的对象实例及其属性,以及这些对象实例之间的具体关系。
抽象层次较高,描述的是类的抽象定义和它们之间的关系。较低,描述的是具体的对象实例和它们之间的关系。
时间维度不涉及具体的时间点,描述的是系统的所有可能情况。涉及具体的时间点,描述的是系统在某一时刻的状态。
元素类、接口、关系(如继承、实现、关联、聚合等)。对象(类的实例)、链(对象之间的关系实例)。
用途在软件的分析和设计阶段使用,帮助理解系统的结构和行为。在系统的实现和测试阶段使用,展示系统的实际运行状态。
实例关系对象图是类图在某一具体时刻的实例化表示。-
变化性类图相对稳定,不易频繁变化。对象图随着系统的运行和时间的推移会发生变化。
展示内容类的内部结构、类的职责、类之间的关系等。对象的名称、属性值、对象之间的关系等。
适用场景适用于对系统的静态结构进行建模和分析。适用于展示系统在某一时刻的具体运行状态。

### 对象图的概念区别 #### 的特点 展示了系统的静态结构,特别关注于系统中的及其属性、操作相互间的关系。这些表描绘的是整个应用生命周期内保持不变的信息,即模型中存在的的内部结构以及它们与其他的关系等[^2]。 ```mermaid classDiagram class User{ <<abstract>> +String name +int age +void login() } class Product{ +String title +double price +void displayInfo() } User -->|can purchase| Product ``` #### 对象图的特点 对象图则表示特定时间点上实际存在的对象及其关联状态。作为的具体实例化表现形式,在某种程度上可以说是对的一种特例展示——它捕捉到了运行时环境中各实体之间瞬态连接的情况。因此,对象图能够反映程序执行期间的数据布局状况,有助于理解复杂场景下的数据交互过程[^1]。 ```mermaid classDiagram user1:User { name="Alice" age=30 } productA:Product { title="Book" price=9.99 } user1 .> productA : purchased ``` #### 关系说明 两者均采用相似形符号来表达概念;然而,更侧重定义通用规则,而对象图聚焦于具体案例分析。通过对比可以看出,每一个出现在对象图里的元素都是对应别下创建出来的个体成员,并且遵循由相应所设定的行为准则。此外,由于对象图仅限于描述某一时段内的快照视,所以不具备像那样全面概括的能力[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

空白_d

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值