加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 适用的设计模式

发布时间:2020-12-14 05:53:00 所属栏目:Java 来源:网络整理
导读:我已经有了这个工作层次结构,程序按预期运行.基本上我已经在Base类中抽象了所有内容,并且所有其他子类都添加了自己的方法. abstract Class Base{}class A extends Base{ //new methods}class B extends Base{ //new methods} 一切看起来都很好,直到以后(错误
我已经有了这个工作层次结构,程序按预期运行.基本上我已经在Base类中抽象了所有内容,并且所有其他子类都添加了自己的方法.
abstract Class Base{
}

class A extends Base{
    //new methods
}

class B extends Base{
    //new methods
}

一切看起来都很好,直到以后(错误……新的要求)我意识到我需要一个新的类(让我们称之为C类)
A类和B类.现在,在java中它不可能扩展两个具体的类.

class C extends A,B{
    //new methods
}

我需要A类和B类中的方法和变量,但我不知道如何做到这一点?
有关如何进行此更改的任何提示?
我在设计模式上不是那么好,所以我想在这里问一下.

谢谢

UPDATE
这实际上是一个JSF Managed Bean,其中我在Base Managed Bean中抽象了所有内容,并且所有其他子类在基础托管bean之上覆盖/添加它们自己的实现.
只添加了一个新的要求,其中我需要将子类(A和B)的功能都添加到新的子类(C)中

解决方法

重构代码并创建A和B和Base接口而不是类,并使用接口继承而不是实现继承. 然后你可以实现A和B(这是Java支持多重继承的方式)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读