日期:2014-05-20  浏览次数:20624 次

Java中如何实现类似C++的多重继承
在多个Action中有验证身份需求,不想重复地写,而现有Action又是从不同Action类中继承的(DispatchAction/Action)。

在C++中可以用多重继承解决,JAVA下想复用又不能从不同类中继承,实现多个接口在这好像也用不上,不知有什么好的方法。


------解决方案--------------------
我能够想到的方法:
1. 使用filter来实现身份验证
2. 使用AOP来实现
------解决方案--------------------
2继承1 , 3继承2,


------解决方案--------------------
做个BaseAction 继承Action 把验证代码写在里面

然后所有的action继承这个baseAction 就可以了

------解决方案--------------------
Java中弥补多重继承的方式是实现多个接口
------解决方案--------------------
用decorator模式
------解决方案--------------------
JAVA中的多层继承是用接口实现的~
建议LZ可以将验证方法写到一个工具类里面
或写一个BaseAction 类也不错,不过LZ的情况是已经不能再继承了.
------解决方案--------------------
接口为什么用不上?多重继承除了用接口还有别的办法?
------解决方案--------------------

------解决方案--------------------
只能使用接口实现
------解决方案--------------------
use composition
separate your reusable code and custom code.
------解决方案--------------------
使用 继承的组合或实现接口,详情,请参考Think in Java
将的很好
------解决方案--------------------
可以使用内部类 实现类似多继承
或者 用 delegate
------解决方案--------------------
java本来不支持多重继承,但是可以实现多个接口
------解决方案--------------------
自己
狂定义接口不就行了!