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组合而成  。

    类与类的组合关系图

  • 相关阅读:
    注册表修改大全(浏览文章时可以使用CTRL+F查找)
    怎样彻底删除系统服务项
    Linux查看文件编码格式及文件编码转换
    使用回收站主键名、索引名问题
    Aix5.3安装Bash Shell环境
    让AIX下的sqlplus也支持回显功能
    Oracle查看表空间使用率SQL脚本
    笔记本电脑内网、外网一起使用
    Oracle数据库为何出现乱码
    Oracle中varchar2(20)和varchar2(20 byte)区别
  • 原文地址:https://www.cnblogs.com/zailushang117/p/3558270.html
Copyright © 2011-2022 走看看