Buscar

padrão bridge - exemplo 2

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

1	public interface JanelaImplementada {
2	
3	void desenharJanela(String titulo);
4	
5	void desenharBotao(String titulo);
6	
7	}
01	public class JanelaWindows implements JanelaImplementada {
02	
03	@Override
04	public void desenharJanela(String titulo) {
05	System.out.println(titulo + " - Janela Windows");
06	}
07	
08	@Override
09	public void desenharBotao(String titulo) {
10	System.out.println(titulo + " - Botão Windows");
11	}
12	
13	}
01	public abstract class JanelaAbstrata {
02	
03	protected JanelaImplementada janela;
04	
05	public JanelaAbstrata(JanelaImplementada j) {
06	janela = j;
07	}
08	
09	public void desenharJanela(String titulo) {
10	janela.desenharJanela(titulo);
11	}
12	
13	public void desenharBotao(String titulo) {
14	janela.desenharBotao(titulo);
15	}
16	
17	public abstract void desenhar();
18	
19	}
01	public class JanelaDialogo extends JanelaAbstrata {
02	
03	public JanelaDialogo(JanelaImplementada j) {
04	super(j);
05	}
06	
07	@Override
08	public void desenhar() {
09	desenharJanela("Janela de Diálogo");
10	desenharBotao("Botão Sim");
11	desenharBotao("Botão Não");
12	desenharBotao("Botão Cancelar");
13	}
14	
15	}
01	public class JanelaAviso extends JanelaAbstrata {
02	
03	public JanelaAviso(JanelaImplementada j) {
04	super(j);
05	}
06	
07	@Override
08	public void desenhar() {
09	desenharJanela("Janela de Aviso");
10	desenharBotao("Ok");
11	}
12	
13	}
1	public static void main(String[] args) {
2	JanelaAbstrata janela = new JanelaDialogo(new JanelaLinux());
3	janela.desenhar();
4	janela = new JanelaAviso(new JanelaLinux());
5	janela.desenhar();
6	
7	janela = new JanelaDialogo(new JanelaWindows());
8	janela.desenhar();
9	}

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Continue navegando