一、java对象导论之复用

复用具体实现

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

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

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

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

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

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

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

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

猜你喜欢

转载自blog.csdn.net/bytesflying/article/details/106367160