Java语言 -- 复用类

在Java语言中,组合和继承是复用类的两个途径。

1、组合

组合是"has-a"关系,将A类的引用置于B类中即可。比如,在使用Spring中用到的反转依赖的那些类都使用了组合。

使用组合为的是,复用一些已有类的功能。

2、继承

继承是Java中的一个重要的概念,但是也会被滥用,从而增加了代码的复杂度。所以,要慎用继承。

继承是"is-a"关系,也就是说,当一组对象具有共同的核心价值,是通过对它们进行"抽象"来解决某个问题。

使用继承为的是,复用一些接口,一些形式。

3、组合与继承之间的选择

(1)一个较好的判断方法是:思考是否需要从新类向基类向上转型,如果向上转型是必须的,则继承是必要的,否则,尽量避免使用继承。

(2)联想起,在设计模式中有Strategy模式和Template Method模式。后者是采用继承来实现的,前者采用了组合。一般而言,可以用Strategy模式来替换Template Method模式。替换的好处是,不用继承,则,相关类可以独立于基类,方便了日后的代码复用。不好之处在于,前一模式增加了代码量及运行的开销。

4、final

对于数据,表示数据初始化后不能再被修改;

对于方法,表示从设计的角度考虑,该方法不能被继承,不能被重载;

对于类,表示从设计的角度考虑,该类不能被继承;

对于参数,表示该参数的引用不能被更改,但若引用的是一个对象,则对象的数值是可以被更改的;

但对于final方法和final类的使用也要特别谨慎,因为很难预见类是如何被复用的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值