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本来不支持多重继承,但是可以实现多个接口
------解决方案--------------------自己
狂定义接口不就行了!