Implementar Primeirão em Java Eduardo Figueiredo 25 de Março de 2010 POOAula 06.

Post on 18-Apr-2015

105 views 0 download

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.