Я пытаюсь понять, как работает композиция в Java, и я застреваю. У меня есть программа, которая создает экземпляр объекта Customer, который имеет объект Computer в качестве переменной экземпляра. В моей программе есть два типа объектов Computer, подкласс Desktop и Laptop, поэтому у меня есть класс Desktop, расширяющий класс Computer, и класс Laptop, который также расширяет класс Computer. У меня есть класс Computer в качестве абстрактного класса, но я знаю, что вы не можете создать экземпляр абстрактного объекта. Я не уверен, как создать экземпляр объекта Computer в моем классе Customer. Любое понимание приветствуется! Пример кода:
public class Customer
{
private String name;
private Computer computer;
public Customer(String n)
{
setName(n);
this.computer = new Computer(); //Can't do this b/c Computer is abstract
}
//Setters and getters for name
public Computer getComputer()
{
return new Computer(this.computer);
}
public void setComputer(Computer computer)
{
this.computer = new Computer(computer);
}
}
public abstract class Computer{
}
public class Desktop extends Computer{
}
public class Laptop extends Computer{
}