Извиняюсь, если вопрос был задан ранее, хотя я оглянулся и не смог найти подходящий ответ на мою конкретную проблему.В любом случае, я пытаюсь смоделировать магазин, в котором продаются десерты, которые все получены из определенного суперкласса Dessert.
Когда я пытаюсь запустить программу для проверки своих классов, я получаю сообщение об ошибке "Cookie
не является абстрактным и не абстрагирует метод getPrice()
в Dessert
публичном классе Cookie extends Dessert
. Я получаю ту же ошибку с другим классом под названием Fruit, но она более или менее точно такая же, как Cookie, только с некоторыми другими переменными-членамии имена методов.
Вот суперкласс Dessert:
public abstract class Dessert {
/** Name of the dessert item. */
protected final String name;
/**
* Constructs a new dessert item.
* @param name Name of the dessert.
*/
public Dessert(String name) {
this.name = name;
}
/**
* Get name of the dessert.
* @return dessert name
*/
public final String getName() {
return name;
}
/**
* Get the price of the dessert.
* @return Dessert price
*/
public abstract double getPrice();
}
А вот подкласс Cookie:
public class Cookie extends Dessert {
private int number;
private double price;
public Cookie (String name, int number, double price) {
super(name);
this.number = number;
this.price = price;
}
public int getItemCount() {
return number;
}
public double getPricePerDozen() {
return (price / 12) * number;
}
}
Я не могу получить форматированиеверно, но строки, следующие непосредственно за двоеточиями, должны быть частью блока кода, а также фигурные скобки, следующие за блоком.
Заранее спасибо за помощь!