zoukankan      html  css  js  c++  java
  • 依赖关系、概况关系、关联关系等概念

    1:依赖关系
      有两个元素A、B,如果元素A的变化会引起元素B的变化,则称元素B依赖(Dependency)于元素A。
      在类中,依赖关系有多种表现形式,如:一个类向另一个类发消息;一个类是另一个类的成员;一个类是另一个类的某个操作参数,等等。

    俩种设置方法:如果在一个解决方案中打开两个工程,一个是库工程,另外一个是依赖于库的一个工程,可以通过设置 右键解决方案-》属性-项目依赖项,将另一个工程依赖于库工程即可,当然也可以通过在另一工程的属性中,通过设置链接依赖项和附加库目录来设置,两者效果相同

    注意:不要深信源代码的正确性,有可能中间也会出错,要敢于质疑别人


    2:概括关系 
      概括关系(Generalization,也翻译为“泛化关系”),描述了一般事物与该事务中的特殊种类之间的关系,也就是父类与子类之间的关系。继承关系是泛化关系的反关系,也就是说子类是父类中的继承的,而父类则是子类的泛化。在UML中,对泛化关系有以下3个要求: 
    1) 子类与父类完全一致,父类所具有的关系、属性和操作,子类元素都应具有。 
    2) 子类中除了与父类一致的信息外,还包括额外的信息。 
    3) 可以使用父类实例的地方,也可以使用子类实例。 
    3:关联关系 
     关联(Association)表示两个类的实例之间存在的某种语意上的关系。例如,一个老师为某一个学校工作,一个学校有多间教室。我们就认为老师和学校、学校和教室之间存在着关联关系。 
     关联关系为类之间的通信提供了一种方式,它是所有关系中最通用、语义最弱的。 
     关联关系通常可以再细分成以下几种。 
    1) 聚集关系(Aggregation): 又称聚合关系,它是关联关系的特例。聚集关系是表示一种整体和部分的关系。如 一个电话机包括一个话筒,一个电脑包含显示器、键盘和主机等都是聚合关系的例子。 
    2) 组合关系:如果聚集关系中的表示”部分“的类存在,与表示”整体“的类有紧密的关系,例如 ”公司“与”部门“之间的关系,那么就应该使用”组合“关系来表示。

  • 相关阅读:
    小波变换的引入,通俗易懂
    Leetcode 437. Path Sum III
    Leetcode 113. Path Sum II
    Leetcode 112 Path Sum
    Leetcode 520 Detect Capital
    Leetcode 443 String Compression
    Leetcode 38 Count and Say
    python中的生成器(generator)总结
    python的random模块及加权随机算法的python实现
    leetcode 24. Swap Nodes in Pairs(链表)
  • 原文地址:https://www.cnblogs.com/tkppain/p/3123353.html
Copyright © 2011-2022 走看看