Implementar Primeirão em Java Eduardo Figueiredo 25 de Março de 2010 POOAula 06.
Transcript of Implementar Primeirão em Java Eduardo Figueiredo 25 de Março de 2010 POOAula 06.
Implementar “Primeirão” em Java
Eduardo Figueiredo
25 de Março de 2010
POO Aula 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 (http://www.textpad.com/) 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 (http://www.textpad.com/) 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
nomepontos
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()
1..1
1..1
2..*
0..1
Alguma dependência?
Jogador
+ nome# pontos
Dado
- numeroDeLados
+ jogarDado()Jogo
# objetivo
+ sorteiarIniciante()+ mostrarSituacao()+ iniciar()+ mostrarVencedor()
+ aumentarPontos()+ jaGanhou()
1..1
1..1
2..*
0..1
Uma Possível Solução UML
Jogador
+ nome# pontos
Dado
- numeroDeLados
+ jogarDado()Jogo
# objetivo
+ sorteiarIniciante()+ mostrarSituacao()+ iniciar()+ mostrarVencedor()
+ aumentarPontos()+ jaGanhou()
1..1
1..1
2..*
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, 2005.
BOOCH, G., RUMBAUGH, J., JACOBSON, I. UML, Guia do Usuário. Rio de Janeiro: Campus, 2000.