Escolar Documentos
Profissional Documentos
Cultura Documentos
2) Teríamos as ações que comumente toda televisão executa, mas que cada modelo pode executar de
forma diferente. Como geralmente toda ação da TV é executada pelo controle remoto, então chamaremos
esta interface de controle remoto.
http://www.tiexpert.net/ver.php?page=160 Página 1
www.tiexpert.net – O ponto de encontro do estudante de TI
public interface ControleRemoto {
/*
* Perceba que apenas a assinatura dos métodos estão aqui.
* E cada método termina com um ponto-e-vírgula (;)
*/
void mudarCanal(int canal);
void aumentarVolume (int taxa);
void diminuirVolume (int taxa);
boolean ligar();
boolean desligar();
}
3) Agora que temos nossa interface e a definição do que é a TV, vamos desenvolver duas TVs diferentes,
imaginando que fossem duas marcas completamente distintas e que uma não tem nenhuma relação com a
outra.
Como ambas as TVs irão implementar a interface ControleRemoto, então, no corpo das duas classes devem
conter todos os métodos da interface. No exemplo usado abaixo, apenas implementaremos os métodos ligar
e desligar.
A TV modelo 001 é uma TV simples, sem muitos recursos que quando acionarmos o comando desligar irá
simplesmente desligar.
public class ModeloTV001 extends TV implements ControleRemoto {
public final String MODELO = "TV001";
O modelo SDX é uma TV mais moderna, que quando acionarmos o comando desligar irá apresentar uma
mensagem dizendo "tchau!".
public class ModeloSDX extends TV implements ControleRemoto {
public final String MODELO = "TV-SDX";
http://www.tiexpert.net/ver.php?page=160 Página 2
www.tiexpert.net – O ponto de encontro do estudante de TI
public void aumentarVolume(int taxa) { }
public void diminuirVolume(int taxa) { }
public void mudarCanal(int canal) { }
}
Como pode ser visto, ambos possuem a mesma ação que é desligar, porém cada um executa de forma
diferente.
public class ExemploInterfaceamento {
public static void main(String[] args) {
ModeloTV001 tv1 = new ModeloTV001(21);
ModeloSDX tv2 = new ModeloSDX (42);
tv1.ligar();
tv2.ligar();
Se prestarmos atenção, apenas a TV2 mostrará uma mensagem quando for desligada.
Para visualizar melhor este exemplo, baixe o código exemplo e implemente os métodos que faltam.
http://www.tiexpert.net/ver.php?page=160 Página 3