类或对象的基本关系 关联 组合 聚合 依赖

本文详细解析了面向对象设计中的组合与聚合概念,并通过示例代码对比了两者之间的区别,同时阐述了依赖关系的基本原理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

文章目录

关联

关联,关联关系是一个笼统的说法,实际包括两个具体方式即组合和聚合

组合

我们看一下代码

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

我们知道,组合是一种强联系的关系,比聚合的关系更加紧密
类比人和手,手组成了人,手是人的一部分,手是不能换的,这就是组合关系

像上面的代码显示:A类对象创建时,B类对象也创建了,是一体的

聚合

public class A {
	private B b;
	/*
	public set(B b){
		This.b=b;
	}
	*/
	public A(B b){
        this.b = b;
    }
}

像上面,A对象创建是B对象没有创建,这就是一种弱的联系,就类似于笔记本电脑和显示屏,笔记本电脑自带显示屏可以不用外接显示器,但是作为可以外接,外接显示器坏了还能换,就类似于上面有set方法或者是构造函数可以替换,这就是聚合关系

依赖

依赖,可以理解成,实现这个功能时,需要使用到B,这就是依赖

在代码中,以类A依赖类B为例,表示类B出现在类A的一个方法中的参数中,方法体局部变量,或静态B方法调用,返回值

总之,在块里出现其他类的变量,这就是依赖

public class A {//注意这没有定义类B在类A中的私有变量
    public B operation(B b){//返回值和方法参数
        b.opb();//方法参数位置
        B bb = new B();//局部变量
        bb.opbb();
        B.staticop();//静态方法调用
	}
}

参考:贺老板的ppt

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值