UML类图关系示例

这些天在学习设计模式,敲了一些代码,分享记录下来嘻嘻。

1、继承

如果一个类别A“继承自”另一个类别B,就把这个A称为“B的子类别”,而把B称为“A的父类别”也可以称“B是A的超类”。继承可以使得子类别具有父类别的各种属性和方法,而不需要再次编写相同的代码。

类图如下:



2、实现(接口)

实现(interface)和继承相似,里面含有抽象的方法或者常量字段,一个类如果实现了某个接口,则必须要实现里面的抽象方法。

如果没有实现,则必须要将该类声明为抽象类。通过实现接口,可以完成类似于c++中多继承的功能,但不是多继承。

类图如下:


3、关联(association)

关联就是一个类A里面会用到另一个类B,但是不是用到这个类B的多个,就只有一个,例如有一个类企鹅,需要了解到气候规律,

当一个类要“知道另一个类”是,可以用关联。


代码示例:

public class Penguin{
	private Climate climate;
}



4、聚合(aggregation)

聚合表示一种弱的“拥有”关系,体现的是A对象可以包含B对象,但B对象不是A对象的一部分,就像一个类A里面有多个类B的意思。

类图如下:


代码示例:

public class WideGooseAggregate{
	private WideGoose[] arrayWideGoose;
}



5、组合(composition)

组合表示一种强的拥有关系,体现了严格的部分和整体的关系,部分和真题的生命周期是一样的。这个和前一个的“关联”有区别,关联

是有“通知”的意思,而组合强调的是部分和整体,强调生命周期。


代码示例:

public class Bird{
	private Wing wing;
	public Bird(){
		wing = new Wing();
	}
}



6、依赖关系(dependency)

举个例子吧,动物依赖于氧气和水,他们之间就是的依赖关系。


代码示例:

public abstract class PictureTest {
	public Metabolism(Oxygen oxygen, Water water){
		
	}
}


赠人玫瑰手留余香

有错误提出来一起学习哈啊




  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值