Это вопрос об абстракции.
Я хочу использовать два совершенно разных графических интерфейса для моего приложения.Они совершенно разные, но реализуют один и тот же интерфейс.
Мой вопрос: как будет выглядеть конструктор?Какой тип объекта идет в подписи?
Они не расширяют общего родителя, поэтому я не могу использовать полиморфизм.
объект контроллера хочет быть введен с объектом, который реализует интерфейс 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();
}
}