Implementar Primeirão em Java Eduardo Figueiredo 25 de Março de 2010 POOAula 06
Exercício 2: Implementação Implementar Primeirão em Java a partir do diagrama de classes UML Entrega em dupla ou individual Final desta aula (14:45 hr) Não precisa compilar e executar Vou olhar apenas o código fonte
Fique Atento aos Conceitos de OO Vou avaliar apenas: A identificação das classes de objetos Se as funcionalidades (métodos) fazem sentido para a classe que os declara Se os atributos (variáveis) fazem sentido para a classe que os declara Usar nomes significativos para classes, métodos e variáveis
Uso de Comentários Usar comentários para explicar algo (ou se não souber implementar) Por exemplo, no corpo do método Comentários em Java // Esta linha está comentada /* Este trecho está comentado */
Instalando Java Já está instalado o JDK 1.6 C:\\Arquivos de Programas\Java Instalar/Usar um editor de textos TextPad ( Instalar no D:\\temp\textpad (criar pasta)
Instalando Java Se necessário, setar variáveis de ambiente Path = C:\\Arquivos de Programas\Java\[seu-java]\bin Classpath = D:\\temp\\[seu-nome]
Variáveis de Ambiente
Editor de Texto x IDE Usar apenas editor de texto Exemplo: TextPad ( Compilar: Ferramentas -> Compilar Java Executar: Ferramentas -> Exec. Aplicat. Java Não usar ambientes de desenvolvimento Eclipse, JBuilder, NetBeans, etc.
Primeirão em UML
Projetando o Primeirão (UML) Por onde começar?
Identificar os Objetos Jogador Dado Jogo
Identificar Métodos e Atributos Jogador nome pontos Dado numeroDeLados jogarDado() Jogo objetivo sorteiarIniciante() mostrarSituacao() iniciar() mostrarVencedor() aumentarPontos() jaGanhou()
Qual é a visibilidade? Jogador + nome # pontos Dado - numeroDeLados + jogarDado() Jogo # objetivo + sorteiarIniciante() + mostrarSituacao() + iniciar() + mostrarVencedor() + aumentarPontos() + jaGanhou()
Relacionamentos entre Classes Jogador + nome # pontos Dado - numeroDeLados + jogarDado() Jogo # objetivo + sorteiarIniciante() + mostrarSituacao() + iniciar() + mostrarVencedor() + aumentarPontos() + jaGanhou()
Definir Multiplicidade Jogador + nome # pontos Dado - numeroDeLados + jogarDado() Jogo # objetivo + sorteiarIniciante() + mostrarSituacao() + iniciar() + mostrarVencedor() + aumentarPontos() + jaGanhou() * 0..1
Alguma dependência? Jogador + nome # pontos Dado - numeroDeLados + jogarDado() Jogo # objetivo + sorteiarIniciante() + mostrarSituacao() + iniciar() + mostrarVencedor() + aumentarPontos() + jaGanhou() * 0..1
Uma Possível Solução UML Jogador + nome # pontos Dado - numeroDeLados + jogarDado() Jogo # objetivo + sorteiarIniciante() + mostrarSituacao() + iniciar() + mostrarVencedor() + aumentarPontos() + jaGanhou() * 0..1 O método jaGanhou precisa saber o objetivo do jogo
Referências DEITEL, H. M.; DEITEL P. J. Java: Como Programar, 6a. Edição. Pearson, BOOCH, G., RUMBAUGH, J., JACOBSON, I. UML, Guia do Usuário. Rio de Janeiro: Campus, 2000.