一、java对象导论之复用

复用具体实现

还有朋友分不清组合和聚合的区别吗?那就一起先来回顾下组合和聚合。

  • 组合:java思想中称其为“has-a”的拥有关系。书中的例子讲的是:汽车和引擎的关系,当汽车拥有引擎时才可以开动,如果汽车没了引擎就没法开动,引擎离开汽车就只是引擎了。如果前边的例子不好理解,网上有个比较鲜明的例子,拿过来再和大家分享一下:部分和整体是与生俱来的,但是部分的生命要依赖与整体的。就比如人和人的器官,人一出生,器官就存在了,人如果没有了生命,器官就没有的意义。

  • 聚合:所谓组合是“动态”发生的,那就要称为聚合。再举一个大家经常比喻的例子:小明和小明的手机。小明的手机属于小明,但是手机是厂家生产出来的,只不过后来小明买了过来。如果小明某一天没有生命了,但是手机还是可以给别人用的。不存在部分的生命依存于整体。(小明好惨~)

java中复用的意义:设计清晰,灵活。

  • 一旦类被创建完和测试完,在理想的状况下他应该是可以被别人直接使用的。最简单的复用某个类的方式就是直接使用该类的一个对象,此外也可以将那个类的一个对象至于某个新的类中。一般称为“创建一个成员对象”。

  • 组合带来了极大的灵活,新类的成员对象通常都被声明为private,使的类的消费者不能访问。当优化对象相关的程序时,不会产生较大的影响。

还有一点值得注意,那就是在设计类时要区分组合和继承,并不是所有业务都适合用继承,组合亦是如此。选取组合或继承自行根据业务考虑吧

(下一篇简单介绍继承的概念)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值