implementar primeirão em java eduardo figueiredo 25 de março de 2010 pooaula 06
TRANSCRIPT
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.