gpt4 book ai didi

java - java中抽象类适合什么场景使用?

转载 作者:行者123 更新时间:2023-12-03 02:01:15 26 4
gpt4 key购买 nike

我对OOPS概念不熟悉,我在使用抽象类时有疑问,请澄清我的疑问。

我有四个类,例如:A类、B类、C类和主类。

类 A、B 和 C 包含相同的方法名称,但方法定义不同

实现就像,

    class A                          
{
getValue();
setValue();
}

class B
{
getValue();
setValue();
}

class C
{
getValue();
setValue();
}

在Main类中,我需要调用setValue()或getValue(),它可以是上述三个类中的任何一个,如何实现这个场景?

    class Main
{
Main()
{}
x.setValue();
x.getValue();
}

其中 x 可以是 A 类、B 类或 C 类的对象。

最佳答案

抽象类定义了哪些方法可用。在你的情况下,这将是

abstract class YourAbstractClass {
abstract public int getValue();
abstract public void setValue(int i);
}

现在你的类A、B和C可以继承这个类了。

class A extends YourAbstractClass {
public int getValue() { return 23; }
public void setValue(int i) { /* set i */ }
}
class B extends YourAbstractClass {
public int getValue() { return -3; }
public void setValue(int i) { /* set i */ }
}
class C extends YourAbstractClass {
public int getValue() { return 3; }
public void setValue(int i) { /* set i */ }
}

在你的主类中,你可以像这样使用它:

public class Execution {
public static void main(String[] args) {
YourAbstractClass o = new A();
o.getValue();
o.setValue(3);
}
}

关于java - java中抽象类适合什么场景使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28874035/

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