比较常见的Java类之间的关系

依赖
use
这里写图片描述
如果A依赖于B,则B表现为A的局部变量,方法参数,静态方法调用等

public class Person  
{  
    public void drive(Card card)  
    {  
        card.u();  
    }  
    ……  
}  
public class Card  
{  
    public void u()  
    {  
        ......  
    }  
    ……  
}  

参考我的https://blog.youkuaiyun.com/hejj8023/article/details/70596616
这里写图片描述
关联
has
表现为变量(has a),类与类之间的联接,它使一个类知道另一个类的属性和方法。例如如果A依赖于B,则B体现为A的全局变量,如person类和company类。

关联关系有双向关联和单向关联:
1、双向关联:两个类都知道另一个类的公共属性和操作。
2、单向关联:只有一个类知道另外一个类的公共属性和操作。
大多数关联应该是单向的,单向关系更容易建立和维护,有助于寻找可服用的类。

关联关系在java中一般

使用成员变量来实现

含义:类与类之间的连结,关联关系使一个类知道另外一个类的属性和方法;通常含有“知道”,“了解”的含义。关联可以是双向的,也可以是单向的
举例:“渔民”需要知道“天气”情况才能够出海

class Driver {
//使用成员变量形式实现关联

   Car mycar;   
    public void drive(){   
        mycar.run();   
    }   
    ...   
    //使用方法参数形式实现关联   
    public void drive(Car car){   
        car.run();   
    }   
}  

总结

依赖和关联的区别在于依赖是使用use,关联是拥有has.
举例:人依赖于水和空气;汽车依赖汽油;
依赖关系比较好区分,它是耦合度最弱的一种,在java中表现为局域变量、方法的形参,或者对静态方法的调用

use关联关系在java中一般使用成员变量来实现

has我“拥有”这个车。
使用成员变量表达这个意思:车是我自己的车,

use使用方法参数表达:
车不是我的,我只是个司机,别人给我什么车我就开什么车,我使用这个车。

这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值