gpt4 book ai didi

java - 从两个类中获取功能

转载 作者:行者123 更新时间:2023-11-29 08:00:01 25 4
gpt4 key购买 nike

假设我有一个抽象类 A 和一个抽象类 B:

abstract class A {
public void doA(){
//some stuff
}
}

abstract class B{
public void doB(){
//some stuff
}
}

现在我要完成如下情况:

class C 具有just A
的功能D 类具有只是 B
的功能E 类具有 AB 的功能。

我该怎么做?这在 Java 中甚至可能吗,因为一个人不能扩展多个类?

最佳答案

Java 不支持多重继承。如果您想同时拥有 A 和 B 的功能,则必须至少将其中一个声明为接口(interface)。

要获得 A 的功能,例如。

public class C extends A {
//your methods
}

正如其他人所说,您使用 Facade 模式可以同时拥有这两个类的功能

假设 A 和 B 不是抽象的,因为您不能实例化抽象类。

public class Facade {
private A mA = new A();
private B mB = new B();

private void doB() {
mB.doB();
}

private void doA() {
mA.doA(); // as long as these are visible
}
}

关于java - 从两个类中获取功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14965942/

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