您的位置:首页 > 编程语言 > Java开发

Java语言 -- 复用类

2009-03-01 00:43 127 查看
在Java语言中,组合和继承是复用类的两个途径。

1、组合

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

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

2、继承

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

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

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

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

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

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

4、final

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

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

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

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

但对于final方法和final类的使用也要特别谨慎,因为很难预见类是如何被复用的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息