这是关于抽象的问题。
我希望能够为我的应用程序使用两个完全不同的GUI。它们完全不同,但是实现相同的接口。
我的问题是,构造函数将是什么样?签名中包含哪种类型的对象?
它们不扩展公共父对象,所以我不能使用多态。
controller对象想被注入一个实现Displayable接口的对象。
interface Displayable {
void display();
}
class Display1 implements Displayable {
public void display() {
//Shows something Fancy on the screen
}
}
class Display2 implements Displayable {
public void display() {
//write something to console
}
}
class Main {
public static void main(String[] args) {
// Controller controller = new Controller(new Display1());
Controller controller = new Controller(new Display2());
controller.display();
}
}
class Controller {
????? display;
public Controller(?????? display) {
this.display = display;
}
public void display() {
display.display();
}
}