gpt4 book ai didi

java - 适用的设计模式

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:59:18 26 4
gpt4 key购买 nike

我已经有了这个工作层次结构,程序按预期运行。基本上我已经抽象了一个基类中的所有内容,所有其他子类都添加了它们自己的方法。

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 类中的方法和变量,但我不知道该怎么做?关于如何进行此更改的任何提示?我不太擅长设计模式,所以我想在这里问一下。

谢谢

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

最佳答案

重构您的代码,使用 AB 以及 Base 接口(interface)代替类,使用接口(interface)继承代替实现继承。
然后你可以同时实现AB(这就是Java中支持多重继承的方式)

关于java - 适用的设计模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16034745/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com