期限切れの映画の延滞料金を計算するには、オーバーライドされたcalclatefeesメソッドも必要です。現在Javaでの継承と多型性の問題
public class Action extends Movie {
protected double latecost;
protected double latefees;
public Action (String title, String rating, int id, int rentTime,
double latecost, double latefees) {
super(title, rating, id, rentTime);
this.title = title;
this.rating= rating;
this.id = id;
this.rentTime= 8;
this.latecost = 2;
System.out.println("Overridden " + title + rating + " " + id + " "
+ latecost + " " + latefees);
}
public double calclatefees (double latecost) {
if (rentTime > 3)
latefees = ((rentTime - 3) * latecost);
return latefees;}
@Override
public String toString() {
String x = "Movie: " + title + " is rated " + rating + "\nMovie ID number:"
+ id + " late fees are $" + latefees;
return x;
}
}
出力が役立ちます。 – rmlan
あなたが持っている問題を除いて、列挙子にアクション、コメディ、ドラマをリファクタリングすることを考慮すると、継承されたムービーではなくムービーのより良い属性です。:) –
私のtoStringが返されない理由を調べようとしています私の価値観は、私のオーバーロードされたコンストラクタに入れました。なぜ、彼らを私のスーパーに割り当てても、彼らはまだそれをしません。 – sjames14