Предположим, у нас есть магазин, и мы продаем 3 товара.Мы продаем конфеты, корзины и подарки.
Таким образом, клиент может купить:
- Конфеты
- Корзины
- Подарки (подарок определяется как корзина полная конфет плюс декоративная лента)
IЯ хочу добиться этого, используя Java-наследование, поэтому я сделал следующее:
public class Candies {
private int weight;
public Candies(int weight){
this.weight = weight;
}
//setters & getters
}
public class Baskets{
private String color;
private int weight;
public Baskets(String color, int weight){
this.color = color;
this.weight = weight;
}
//setters & getters
}
public class Present {
private String ribbon_color;
//....
}
Теперь проблема в том, что, когда клиент хочет купить подарок (который содержит и конфеты, корзины и ленту), мне нужноотдельный класс Present, который создает объект candy и basket .Я знаю, что множественное наследование не разрешено в Java, поэтому я застрял на том, как я могу реализовать это.
Я мог бы определить конфеты и корзины как интерфейсы и иметь класс Present, который реализует оба интерфейса, но является ли это наиболее эффективным и правильным способом сделать это?