В настоящее время я работаю над проектом для Java, и учитель не очень хорошо объясняет себя. В настоящее время я застреваю, пытаясь ссылаться на расширенный класс в java, чтобы получить баланс. (Я пытаюсь изменить баланс таким образом, чтобы его можно просматривать и изменять в массиве.Как ссылаться на расширенный подкласс в java?
мой основной счет выглядит следующим образом
public class Account {
private String name;
private double quantity, price;
private double rate;
private Asset[] Asset;
}
Счет, который удлиняется является
abstract public class Asset {
String symbol;
public String getSymbol() {
return symbol;
}
protected Asset(String symbol) {
this.symbol = symbol;
}
}
расширения выглядеть так,
public class Cash extends Asset {
private double Quantity;
public Cash(double Quantity, String symbol) {
super(symbol);
this.Quantity = Quantity;
}
@Override
public String getSymbol() {
return super.getSymbol(); //To change body of generated methods, choose Tools | Templates.
}
public double getQuantity() {
return Quantity;
}
public void setQuantity(double Quantity) {
this.Quantity = Quantity;
}
}
Теперь давайте говорить у меня есть тестовый экземпляр, созданный из класса Акко ЕНТ. Как я могу изменить значение «Денежные средства» из учетной записи Class? (Main arg) Вот другие расширения, которые у меня есть только для справки.
public class Stock extends Asset {
private String name;
private double quantity, rate;
public Stock(String name, double quantity, double rate, String symbol) {
super(symbol);
this.name = name;
this.quantity = quantity;
this.rate = rate;
}
@Override
public String getSymbol() {
return super.getSymbol(); //To change body of generated methods, choose Tools | Templates.
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public double getQuantity() {
return quantity;
}
public void setQuantity(double quantity) {
this.quantity = quantity;
}
public double getRate() {
return rate;
}
public void setRate(double rate) {
this.rate = rate;
}
}
Если это помогает, как я могу изменить значения в расширенных классах? Я попытался
Asset[0] = new Cash(25000.00,string);
, но это полезно только ввод значения вручную. Извинения за любые ошибки, я довольно новичок в кодировании и java в целом.
Более принципиально, не надо. Если вам нужно знать, что ваш 'Cash' является' Cash', то рассматривайте его как «Cash», а не «Asset». – chrylis
Это должно быть одно требование от профессора. – vdefile
Затем используйте предоставленный ответ, но имейте в виду, что это плохой дизайн. – chrylis