gpt4 book ai didi

java - 尝试使用抽象数据类型 - 如何通过继承调用方法

转载 作者:行者123 更新时间:2023-12-01 15:17:55 25 4
gpt4 key购买 nike

我正在尝试测试我的抽象类,但当我从测试类调用方法时遇到问题。使用Java已经有一段时间了,之前没有使用过抽象类。任何有关我出错的地方的指示将不胜感激。谢谢。

抽象类

public abstract class RationalNumbers {

public int numerator, denominator, temp;

public void setNumerator(int n) {
numerator = n;
}

public void setDenominator(int d) {
denominator = d;
}

public int getNumerator() {
return numerator;
}

public int getDenominator() {
return denominator;
}

public int add() {
temp = numerator + denominator;
return temp;
}

public int subtract() {
temp = numerator - denominator;
return temp;
}

public int multiply() {
temp = numerator * denominator;
return temp;
}

public int divide() {
temp = numerator / denominator;
return temp;
}

public boolean isEqual() {
boolean isEqual;
if (numerator == denominator) {
isEqual = true;
} else {
isEqual = false;
}
return isEqual;
}
}

测试类

public class testClass extends RationalNumbers {

public static void main(String[] args) {
setNumerator(5);
setDenominator(10);
System.out.println("Equal: " + isEqual());
System.out.println("Numerator: " + getNumerator());
// etc...
}
}

最佳答案

我很遗憾地告诉您这一点,但是您为有理数创建抽象的尝试在各个方面都是错误的。这根本不正确。。这些方法都不正确:加、减、乘、除、isEqual - 全部都是完全错误的。

您不想重写equals() - hashCode()吗?是什么让您认为 isEqual() 是个好主意?

看看this有关如何正确执行此操作的示例。

关于java - 尝试使用抽象数据类型 - 如何通过继承调用方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11371748/

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