12.07.2015 Views

k19-k11-orientacao-a.. - Departamento de Sistemas e Computação

k19-k11-orientacao-a.. - Departamento de Sistemas e Computação

k19-k11-orientacao-a.. - Departamento de Sistemas e Computação

SHOW MORE
SHOW LESS
  • No tags were found...

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

183 CHAT K195 }Código Java E.6: ReceptorDeMensagem.javaExercícios <strong>de</strong> Fixação1 Crie um projeto no eclipse chamado K19-chat-server.2 Crie um projeto no eclipse chamado K19-chat-client.3 No projeto K19-chat-server crie uma classe para <strong>de</strong>finir os emissores.1 import java .io. PrintStream ;23 public class Emissor {45 private PrintStream saida ;67 public Emissor ( PrintStream saida ) {8 this . saida = saida ;9 }1011 public void envia ( String mensagem ) {12 this . saida . println ( mensagem );13 }14 }Código Java E.7: Emissor.javaCada emissor possui uma saída <strong>de</strong> dados relacionada a um cliente conectado ao chat. Para criação<strong>de</strong> um emissor, a saída <strong>de</strong>ve ser passada como parâmetro através do construtor.Quando alguma mensagem <strong>de</strong> algum cliente conectado ao chat chegar no servidor, o distribuidorchamará o método envia() passando a mensagem para o emissor enviá-la ao cliente correspon<strong>de</strong>nte.4 No projeto K19-chat-server crie uma classe para <strong>de</strong>finir o distribuidor <strong>de</strong> mensagens.1 import java . util . Collection ;2 import java . util . ArrayList ;34 public class Distribuidor {5 private Collection < Emissor > emissores = new ArrayList < Emissor >() ;67 public void adicionaEmissor ( Emissor emissor ) {8 this . emissores . add ( emissor );9 }1011 public void distribuiMensagem ( String mensagem ) {12 for ( Emissor emissor : this . emissores ) {13 emissor . envia ( mensagem );14 }15 }16 }Código Java E.8: Distribuidor.javaO distribuidor possui uma coleção <strong>de</strong> emissores, um emissor para cada cliente conectado.www.<strong>k19</strong>.com.br 183

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!