POO
Aula 06
Implementar “Primeirão” em Java
Eduardo Figueiredo
25 de Março de 2010
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
Dado
Jogo
Jogador
Identificar Métodos e Atributos
Dado
numeroDeLados
jogarDado()
Jogo
objetivo
sorteiarIniciante()
mostrarSituacao()
iniciar()
mostrarVencedor()
Jogador
nome
pontos
aumentarPontos()
jaGanhou()
Qual é a visibilidade?
Dado
- numeroDeLados
+ jogarDado()
Jogo
# objetivo
+ sorteiarIniciante()
+ mostrarSituacao()
+ iniciar()
+ mostrarVencedor()
Jogador
+ nome
# pontos
+ aumentarPontos()
+ jaGanhou()
Relacionamentos entre Classes
Dado
- numeroDeLados
+ jogarDado()
Jogo
# objetivo
+ sorteiarIniciante()
+ mostrarSituacao()
+ iniciar()
+ mostrarVencedor()
Jogador
+ nome
# pontos
+ aumentarPontos()
+ jaGanhou()
Definir Multiplicidade
Dado
1..1
Jogo
1..1
- numeroDeLados
+ jogarDado()
# objetivo
2..*
+ sorteiarIniciante()
+ mostrarSituacao()
+ iniciar()
+ mostrarVencedor()
Jogador
0..1 + nome
# pontos
+ aumentarPontos()
+ jaGanhou()
Alguma dependência?
Dado
1..1
Jogo
1..1
- numeroDeLados
+ jogarDado()
# objetivo
2..*
+ sorteiarIniciante()
+ mostrarSituacao()
+ iniciar()
+ mostrarVencedor()
Jogador
0..1 + nome
# pontos
+ aumentarPontos()
+ jaGanhou()
Uma Possível Solução UML
Dado
1..1
Jogo
1..1
- numeroDeLados
+ jogarDado()
O método jaGanhou
precisa saber o
objetivo do jogo
# objetivo
2..*
+ sorteiarIniciante()
+ mostrarSituacao()
+ iniciar()
+ mostrarVencedor()
Jogador
0..1 + nome
# pontos
+ aumentarPontos()
+ jaGanhou()
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.
Download

Aula 06