类与类之间的关系图

类与类之间关系有:关联、聚集、组合、泛化、依赖等。

一、关联(Association):两个相对独立的类,当一个类的实例与另一个类的实例存在固定关系时,这两个对象之间就存在关联关系。

1、单项关联:A1—>A2:表示A1认识A2,A1知道A2的存在,A1可以调用A2的方法和属性。

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

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

代码:

Public class Order

{

       Public List<Product> 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的方法和属性。

例如:订单和客户,订单属于客服,客服拥有一些特定的订单。

代码:

Public class User

{

       Public List<Order> GetOrder()

       {

}      return new List<Order>();

}

Public Class Order

{

       Public User GetUserByOrderID(string OrderId )

       {

              Return new User();

}

}

 

3、自身关联

同一个类对象之间的关联

类与类之间自身关联图

4、多维关联图

多个对象之间存在关联

例如:公司雇用员工,同时公司需要支付工资员工

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

二、泛化关系(generalization)

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

例如:父与子、动物与人

类与类之间的泛化关系图:

三、依赖关系(dependency)

类A要完成某个功能必须引用类B,则A与B存在依赖的关系。

类与类的依赖关系图:

四、聚合关系

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

例如:商品和它的规格、样式

类与类的聚合关系图:

五、组合

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

例如:window窗体由滑动条slider、头部header和工作区Panel组合而成  。

类与类的组合关系图

原文地址:https://www.cnblogs.com/zailushang117/p/3558270.html