gpt4 book ai didi

java - 使用 super() 或对象访问父类中的变量?

转载 作者:行者123 更新时间:2023-12-01 13:50:04 25 4
gpt4 key购买 nike

如果您需要任何信息或有已解决答案的链接,请随时发布,我将调整/删除我的问题。

因此,对于计算机科学中的作业,我需要访问父类中的变量。我有类似的东西

//import anything?


public class HW6Fraction extends Fraction{
public HW6Fraction(int num, int denom){
super();
}

public Fraction add(Fraction f) { //Add method
int num = super().getNumerator + f.getNumerator();
int denom = super().getDenominator + f.getDenominator();
Fraction result = new Fraction(num, denom);
return result;
}

public Fraction subtract(Fraction f) { //Subtract method
int num = super().getNumerator - f.getNumerator();
int denom = super().getDenominator - f.getDenominator();
Fraction result = new Fraction(num, denom);
return result;
}
}

作为子类,类似这样的作为父类:

//Assignment 2 - problem 3, p. 125
/*
Add, subtract, multiply, and divide methods to the Fraction class
(section 3.8). Also, add two more constructors. One of the constructors
will have no parameters; it initializes the fraction to 0/1. The other
constructor will have one parameter, representing the numerator of the
fraction; the denominator of the fraction will be 1. Write a TestFraction
class (similar to the TestAccount class of Section 3.6) that creates two
Fraction objects and tests the behavior of all constructors and instance
methods in the Fraction class.

Logic:
Addition - ((numerator of fraction 1 * denominator of fraction 2) +
(numerator of fraction 2 * denominator of fraction 1)) /
(denominator of fraction 1 * denominator of fraction 2)

Subtraction - ((numerator of fraction 1 * denominator of fraction 2) -
(numerator of fraction 2 * denominator of fraction 1)) /
(denominator of fraction 1 * denominator of fraction 2)

Multiplication - (numerator of fraction 1 * numerator of fraction 2) /
(denominator of fraction 1 * denominator of fraction 2)

Division - (numerator of fraction 1 * denominator of fraction 2) /
(denominator of fraction 2 * numerator of fraction 1)
*/


public class Fraction {
private int numerator; //Numerator of fraction
private int denominator; //Denominator of fraction

public Fraction(int num, int denom) { //Constructor
numerator = num;
denominator = denom;
}

public Fraction() { //Constructor w/ no parameters
new Fraction(0, 1);
}

public Fraction(int num) { //Constructor w/ numerator parameter
numerator = num;
int denom = 1;
}

public int getNumerator() { //getNumerator method
return numerator;
}

public int getDenominator() { //getDenominator method
return denominator;
}

public void setNumerator(int num) { //setNumerator method
numerator = num;
}

public void setDenominator(int denom) { //setDenominator method
denominator = denom;
}

public Fraction add(Fraction f) { //Add method
int num = numerator * f.getDenominator() + f.getNumerator() *
denominator;
int denom = denominator * f.getDenominator();
Fraction result = new Fraction(num, denom);
return result;
}

public Fraction subtract(Fraction f) { //Subtract method
int num = numerator * f.getDenominator() - f.getNumerator() *
denominator;
int denom = denominator * f.getDenominator();
Fraction result = new Fraction(num, denom);
return result;
}

public Fraction multiply(Fraction f) { //Multiply method
int num = numerator * f.getNumerator();
int denom = denominator * f.getDenominator();
Fraction result = new Fraction(num, denom);
return result;
}

public Fraction divide(Fraction f) { //Divide method
int num = numerator * f.getDenominator();
int denom = denominator * f.getNumerator();
Fraction result = new Fraction(num, denom);
return result;
}
}

这些行是我遇到问题的地方:

int num = super().getNumerator + f.getNumerator();

我想知道是否有合适的术语?

最佳答案

您的 HW6Fraction 类从其父类继承该方法

所以你可以写:

int num = getNumerator() + f.getNumerator();

如果您的 HW6Fraction 还声明了 getNumerator() 方法,并且您希望调用父类中定义的 getNumerator(),则执行以下操作:

int num = super.getNumerator() + f.getNumerator();

关于java - 使用 super() 或对象访问父类中的变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20035816/

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