zoukankan      html  css  js  c++  java
  • 类的六种关系

    一、依赖关系

      只要是在类中用到了对方,那么他们之间就存在依赖关系。如果没有对方,连编译都通过不了。一下情况视为对A类对B类的依赖关系:

      1)B类是A类的成员属性

      2)B类是A类某方法的返回值类型

      3)B类值A类某方法的参数类型

      4)B类是A类的某方法的局部变量(排除形参),此用法违反了迪米特法则

      

    二、泛化关系

      泛化关系是依赖关系的特例,就是继承关系。

      

    三、实现关系

      类实现接口

      

     四、关联关系

      关联关系也是依赖关系的一种特例【双向的依赖关系】

      

      

     五、聚合关系

    public class A{
       private B b;
       public void setB(B b){
           this.b = b;
       }  
    }
    class B{
    } 

    六、组合关系

    public class A{
       private B b = new B();
    }
    class B{
    } 

      聚合与组合的区别就是A类聚合B类,当A类创建对象时,作为其成员属性的B类对象并不会实例化。而A组合B类,当A类创建对象时,作为其成员属性的B类对象也会被实例化。所以一个是空心菱形,一个是实心菱形。

  • 相关阅读:
    Hibernate 5.x 生成 SessionFactory 源码跟踪分析
    编译iftop
    Too many open files
    ffmpeg指定网卡
    abrt-hook-ccpp使用CPU太多
    ffplay播放时显示信息的意义
    Windows换行符和Linux换行符的替换
    directshow在WIN10下的一个BUG
    使用mirrordriver截屏
    mac xmind 激活
  • 原文地址:https://www.cnblogs.com/superlsj/p/11698420.html
Copyright © 2011-2022 走看看