实现同一接口的不同类进入构造函数

时间:2019-04-12 17:32:27

标签: oop inheritance interface abstraction

这是关于抽象的问题。

我希望能够为我的应用程序使用两个完全不同的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();
    }
}

0 个答案:

没有答案