zoukankan      html  css  js  c++  java
  • 类与类之间的关系图

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

    一、关联(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组合而成  。

    类与类的组合关系图

  • 相关阅读:
    MySQL sys Schema 简单介绍-2
    dubbo服务+Spring事务+AOP动态数据源切换 出错
    sql 查询优化
    spring事务-说说Propagation及其实现原理
    Redis 分布式锁
    三、操作符
    二、一切皆是对象
    一、对象导论
    SpringMVC工作原理
    数据库性能优化策略
  • 原文地址:https://www.cnblogs.com/zailushang117/p/3558270.html
Copyright © 2011-2022 走看看