类与类之间的关系图

一、简介

二、类的构成

三、类之间的关系(Relationship )

2、双向关联 3、自身关联

1、单向关联

4、多维关联(N-ary Association)5、泛化(Generalization)6、依赖(Dependency)

7、聚合(Aggregation) 8、组合(Composite ) 四、总结

一、简介

类是对象的集合,展示了对象的结构以及与系统的交互行为。类主要有属性(Attribute )和方法(Method )构成, 属性代表对象的状态,如果属性被保存到数据库,此称之为“持久化”;方法代表对象的操作行为,类具有继承关系,可以继承于父类,也可以与其他的Class 进行交互。

类图展示了系统的逻辑结构,类和接口的关系。

二、类的构成

类主要有属性和方法构成。比如商品属性有:名称、价格、高度、宽度等;商品的方法有:计算税率,获得商品的评价等等。如下图

三、类之间的关系(Relationship )

关联(Association)

两个相对独立的对象,当一个对象的实例与另外一个对象的特定实例存在固定关系时,这两个对象之间就存在关联关系。 1、单向关联

A1->A2: 表示A1认识A2,A1知道A2的存在,A1可以调用A2中的方法和属性

场景:订单和商品,订单中包括商品,但是商品并不了解订单的存在。

类与类之间的单向关联图:

C#代码:

Public class Order

{

Public List order;

Public void AddOrder(Product product )

{

order.Add(product);

}

}

Public Class Product

{

}

代码表现为:Order(A1)中有Product(A2)的变量或者引用

2、双向关联

B1-B2: 表示B1认识B2,B1知道B2的存在,B1可以调用B2中的方法和属性;同样B2也知道B1的存在,B2也可以调用B1的方法和属性。

场景:订单和客户,订单属于客户,客户拥有一些特定的订单

类与类之间的双向关联图

C#代码

Public class User

{

Public List GetOrder()

{

} return new List();

}

Public Class Order

{

Public User GetUserByOrderID(string OrderId )

{

Return new User();

}

}

3、自身关联

同一个类对象之间的关联

类与类之间自身关联图

4、多维关联(N-ary Association)

多个对象之间存在关联

场景:公司雇用员工,同时公司需要支付工资给员工

类与类之间的多维关联图:

5、泛化(Generalization)

类与类的继承关系,类与接口的实现关系。

场景:父与子、动物与人、植物与树、系统使用者与B2C 会员和B2E 会员的关系

类与类之间的泛化图:

系统的使用者包括:B2C 会员、B2B 会员和B2E 会员。

接口的实现,动物都有吃的行为,而人是动物的一个具体实例, 实现具体Eat 的动作

6、依赖(Dependency)

类A 要完成某个功能必须引用类B ,则A 与B 存在依赖关系,依赖关系是弱的关联关系。C#不建议双相依赖,也就是相互引用

场景:本来人与电脑没有关系的,但由于偶然的机会,人需要用电脑写程序,这时候人就依赖于电脑。

类与类的依赖关系图

在程序中一般为 using 引用。

7、聚合(Aggregation)

当对象A 被加入到对象B 中,成为对象B 的组成部分时,对象B 和对象A 之间为聚合关系。聚合是关联关系的一种,是较强的关联关系,强调的是整体与部分之间的关系。

场景:商品和他的规格、样式就是聚合关系。

类与类的聚合关系图

8、组合(Composite )

对象A 包含对象B ,对象B 离开对象A 没有实际意义。是一种更强的关联关系。人包

含手,手离开人的躯体就失去了它应有的作用。

场景: Window 窗体由滑动条slider 、头部Header 和工作区Panel 组合而成。

类与类的组合关系图

四、总结

本文针对类之间常用的关系进行了简单的描述,主要有:关联关系、泛化、依赖、聚合和组合。

一、简介

二、类的构成

三、类之间的关系(Relationship )

2、双向关联 3、自身关联

1、单向关联

4、多维关联(N-ary Association)5、泛化(Generalization)6、依赖(Dependency)

7、聚合(Aggregation) 8、组合(Composite ) 四、总结

一、简介

类是对象的集合,展示了对象的结构以及与系统的交互行为。类主要有属性(Attribute )和方法(Method )构成, 属性代表对象的状态,如果属性被保存到数据库,此称之为“持久化”;方法代表对象的操作行为,类具有继承关系,可以继承于父类,也可以与其他的Class 进行交互。

类图展示了系统的逻辑结构,类和接口的关系。

二、类的构成

类主要有属性和方法构成。比如商品属性有:名称、价格、高度、宽度等;商品的方法有:计算税率,获得商品的评价等等。如下图

三、类之间的关系(Relationship )

关联(Association)

两个相对独立的对象,当一个对象的实例与另外一个对象的特定实例存在固定关系时,这两个对象之间就存在关联关系。 1、单向关联

A1->A2: 表示A1认识A2,A1知道A2的存在,A1可以调用A2中的方法和属性

场景:订单和商品,订单中包括商品,但是商品并不了解订单的存在。

类与类之间的单向关联图:

C#代码:

Public class Order

{

Public List order;

Public void AddOrder(Product product )

{

order.Add(product);

}

}

Public Class Product

{

}

代码表现为:Order(A1)中有Product(A2)的变量或者引用

2、双向关联

B1-B2: 表示B1认识B2,B1知道B2的存在,B1可以调用B2中的方法和属性;同样B2也知道B1的存在,B2也可以调用B1的方法和属性。

场景:订单和客户,订单属于客户,客户拥有一些特定的订单

类与类之间的双向关联图

C#代码

Public class User

{

Public List GetOrder()

{

} return new List();

}

Public Class Order

{

Public User GetUserByOrderID(string OrderId )

{

Return new User();

}

}

3、自身关联

同一个类对象之间的关联

类与类之间自身关联图

4、多维关联(N-ary Association)

多个对象之间存在关联

场景:公司雇用员工,同时公司需要支付工资给员工

类与类之间的多维关联图:

5、泛化(Generalization)

类与类的继承关系,类与接口的实现关系。

场景:父与子、动物与人、植物与树、系统使用者与B2C 会员和B2E 会员的关系

类与类之间的泛化图:

系统的使用者包括:B2C 会员、B2B 会员和B2E 会员。

接口的实现,动物都有吃的行为,而人是动物的一个具体实例, 实现具体Eat 的动作

6、依赖(Dependency)

类A 要完成某个功能必须引用类B ,则A 与B 存在依赖关系,依赖关系是弱的关联关系。C#不建议双相依赖,也就是相互引用

场景:本来人与电脑没有关系的,但由于偶然的机会,人需要用电脑写程序,这时候人就依赖于电脑。

类与类的依赖关系图

在程序中一般为 using 引用。

7、聚合(Aggregation)

当对象A 被加入到对象B 中,成为对象B 的组成部分时,对象B 和对象A 之间为聚合关系。聚合是关联关系的一种,是较强的关联关系,强调的是整体与部分之间的关系。

场景:商品和他的规格、样式就是聚合关系。

类与类的聚合关系图

8、组合(Composite )

对象A 包含对象B ,对象B 离开对象A 没有实际意义。是一种更强的关联关系。人包

含手,手离开人的躯体就失去了它应有的作用。

场景: Window 窗体由滑动条slider 、头部Header 和工作区Panel 组合而成。

类与类的组合关系图

四、总结

本文针对类之间常用的关系进行了简单的描述,主要有:关联关系、泛化、依赖、聚合和组合。


相关内容

  • 生活中的变量关系教案3_数学_必修1_北师大版
  • 生活中的变量关系 一.主要内容 教科书对函数内容的处理是分层次的,是遵照循序渐进.螺旋上升的原则进行设计的,而不是一蹴而就的. 本章主要通过丰富的生活实例(如小车下滑的时间.变化中的三角形.温度的变化.速度的变化等)内容使学生感受现实世界中变量和变量之间存在的各种各样的关系及其规律,了解表示这些关系 ...

  • 员工关系的国际发展趋势与我国的政策选择
  • 员工关系的国际发展趋势与我国的政策选择 2014年03月24日 10:58 来源:中国行政管理 作者:刘昕 张兰兰 字号 打印 纠错 分享 推荐 浏览量 doi :10.3782/j.issn.1006-0863.2013.11.11 [摘要]最近几十年来,企业和员工之间关系的性质发生了很大变化,现 ...

  • 回归分析的基本概念
  • 回归分析的基本概念 现实生活中的许多现象之间存在着相互依赖.相互制约的关系,这些关系在量上主要有两种类型: 1. 确定性关系,即我们所熟悉的变量之间的函数关系,如圆的半径R 与圆的面积S 之间就存在确定的函数关系: : 2. 非确定性关系,即变量之间虽然有密切的关系,但这种关系却无法用确定的函数关系 ...

  • 四种命题之间的相互关系及真假判断
  • 四种命题之间的相互关系及真假判断 ●教学目标 (一)教学知识点 1.四种命题之间的相互关系. 2.一个命题的真假与其他三个命题真假之间的关系. 3.互为逆否命题的等价性. (二)能力训练要求 1.理解四种命题之间的相互关系. 2.理解一个命题的真假及其他三个命题真假之间的关系. 3.理解和掌握互为逆 ...

  • 试论继父母子女间抚养教育关系的认定
  • 摘 要 改革开放以来,我国社会经济快速发展,再婚家庭数量也在逐渐增加,继父母子女的关系也大量出现.要想做好继父母子女关系的调整工作就需要按照我国制定法律进行.但是,现阶段我国现有的继父母子女之间关系的相关法律制度较少,就算是现有的继父母子女之间抚养教育与关系的认定制度还存在着一定的不足.在处理继父母 ...

  • 当代大学生与父母关系状况调查
  • 淮 阴 工 学 院 社会调查研究报告 课题名称: 当代大学生与父母之间关系状况的调查 实 习 人: 李静 蒋颖 陆文强 纪新兴 专 业: 社会工作 班 级: 社工1121 指导老师: 闻瑶 闵兢 完成时间: 2013.12.28 影响大学生与父母之间关系因素的客观分析 - 基于淮阴工学院人文学院的调 ...

  • 公务员考试中的直言命题对当关系推理试题分析
  • 直言命题对当关系推理是公务员考试行政职业能力测验科目判断推理板块逻辑判断试题常考知识点.直言命题对当关系推理试题的出题方式灵活多样,但是推理的依据.规则和形式可以通过系统的理论学习而掌握.解答直言命题对当关系推理试题需要考生理解直言命题之间的对当关系,掌握不同题型的解题方法和技巧. 一.引言 直言命 ...

  • 人与人之间的关系一
  • 人与人之间的关系 一 有人说,现在人际关系愈来愈复杂,人与人之间的关系都是相互利用的关系.也有人说,人与人之间的关系主要表现为金钱关系,有钱就有关系.诚然,也有一些善良的人认为人与人之间的关系是相互帮助的关系.可我认为,人与人之间的关系主要表现为相互需要和相互依存的关系. 认为人际关系都是相互利用的 ...

  • 论刑法上的因果关系
  • 刑法学论文 [论刑法上的因果关系] 专业:[法学双学位] 学生姓名:学生学号:指导教师:完成时间:2014年3月27日 论刑法上的因果关系 摘要:危害行为与危害结果之间的因果关系,是指犯罪构成客观方面要件中危害行为与危害结果之间存在的引起与被引起的关系.当危害结果发生时,要确定某人应否对该结果负责任 ...

  • 民法案例分析的法律思维方法
  • 民法案例分析的法律思维方法 本文旨在授人以渔. 很多考生都在抱怨:"民法题做不对的原因不是我们对知识的掌握不到位,而是试题的语言表达不到位--都是生活语言,不像是民法专家出的题,倒像是普通老百姓在发牢骚,捉摸不透命题人要说什么事,所以就很难得分."这些抱怨表明考生不明白命题人的用 ...