Я боролся со следующей проблемой. Существует два класса - Покупатель и Корзина, связанные агрегацией (?), То есть класс Клиента имеет закрытое поле Корзина внутри, поэтому Корзина может быть назначена текущему Покупателю (пользователю / владельцу). Я хочу реализовать другой класс - CheckOutMachine, основной задачей которого будет расчет клиента, а затем распечатка счета. Проблема в том, что я хочу добиться этого двумя разными способами, что-то вроде
public class Main() {
public static void main(String[] args) {
// creating necessary objects
Customer customer = new Customer("James");
Cart cart = new Cart();
customer.setCart(cart);
CheckOut checkOut = new CheckOut();
// creating products, adding to the Cart
// ...
// customer settlement
checkOut.checksOut(customer)
checkOut.checksOut(cart)
}
}
Итак, два совершенно разных объекта в качестве параметров одним методом. Я ищу механизм c, который будет наиболее подходящим в этом сценарии. Сначала мне в голову пришли генерические c типы, но я не могу представить их реализацию, было бы здорово прочитать ваши предложения.