Привет, ребята, так что я новичок в Java, и у меня возникли проблемы с освоением интерфейсов, абстрактных классов и c .. Итак, у меня есть проблема, которую я не уверен, что решу. По сути, у меня есть один интерфейс, который предполагается реализовать абстрактным классом, и этот абстрактный класс предполагает "иметь" (не уверен, какой термин правильный) несколько других классов. Теперь я думаю, что сделал первую часть:
abstract class AbstractArticle implements Article {
final private String name;
final private double price;
final private String description;
AbstractArticle(String name,double price,String description) {
this.name = name;
this.price = price;
this.description = description;
}
public String getName() {
return name;
}
public double getPrice() {
return price;
}
public String getDescription() {
return description;
}
class Accessory extends AbstractArticle {
final String instructionsForUse;
Accessory(String name, double price, String description, String instructionsForUse) {
super(name,price,description);
this.instructionsForUse = instructionsForUse;
}
public String getinstructionsForUse() {
return instructionsForUse;
}
class Merchandise implements Article {
final private int quantity;
Article article;
Merchandise(Article article) {
this.article = article;
quantity = 0;
}
Merchandise(Article article, int quantity) {
this.article = article;
this.quantity = quantity;
}
public int getQuantity() {
return quantity;
}
public Article getArticle() {
return article;
}
}
Итак, во-первых, мне нужно было заставить абстрактный класс переопределить методы и использовать геттеры для получения значений, чем мне нужно было расширить абстрактный класс, используя супер конструктор для вызова методы getName et c .. (надеюсь, я сделал это правильно), и теперь в классе товаров у меня есть 2 конструктора, первый (статья статьи) приостановлен, чтобы установить значение количества равным 0, что не имеет смысла для меня, не следует ли это делать во втором конструкторе? Теперь проблема в том, что когда я пытаюсь скомпилировать класс Merchandise, я получаю сообщение об ошибке, в котором говорится, что мне нужно сделать класс абстрактным или переопределить метод getDescription (). Есть ли способ избежать этого?
Спасибо!