Skip to content

Latest commit

 

History

History

java5

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 

Prática: POO em Java

Orientações

Nesta prática você vai exercitar conceitos de orientação a objetos resumidos nos slides sobre polimorfistmo e herança.

Além dos slides, há links para outros materiais complementares, indicados ao longo da prática e em comentários nos códigos fornecidos.

Para começar, baixe o arquivo polymorphism.zip. Neste código, há uma hierarquia de classes em java inspiradas em itens usados em jogos estilo RPG:

  • GameItem.java: superclasse que representa itens que podem ser colocados em uma sacola;
  • Weapon.java: subclasse de GameItem representando uma arma;
  • Consumable.java: subclasse de GameItem representando um item consumível (comida, poção, etc.)
  • GameItemTestCLI.java: programa com interface textual (command-line) que usa as classes acima
  • GameItemTestGUI.java: programa com interface gráfica (com Swing) que usa as classes acima

Exercícios CLI (Command Line Interface)

  1. Compile o código e execute a classe GameItemTestCLI. Observe que o método main dessa classe cria uma coleção de objetos e implementa diferentes formas de iterar sobre eles (veja comentários no código).

  2. Observe que, para objetos Consumable, não são mostrados todos os atributos nos println. Altere o código em Consumable.java para mostrar o restante dos atributos.

  3. Em GameItemTestCLI.java, no último laço, há uma linha comentada que causa erro de compilação. Explique o motivo do erro com base nos conceitos de orientação a objetos.

  4. Ao final de GameItemTestCLI.java, adicione um código equivalente ao último laço do programa, porém usando o método forEach explicado aqui.

  5. Ao final de GameItemTestCLI.java, adicione um código que calcule o peso total da sacola, considerando todos os itens que estão dentro dela.

  6. Em Consumable.java, quando o item é consumido, seu peso continua inalterado. Altere o código para zerar o peso do item quando ele for consumido. Atenção ao encapsulamento.

Exercícios GUI (Graphical User Interface)

  1. Execute a classe GameItemTestGUI e veja o que acontece a cada clique no botão Next. Confira esta classe linha por linha e compare com a saída observada.

  2. Baixe o arquivo helloimage.zip e descompacte-o. No programa HelloImageSwing.java há um exemplo simples que mostra uma imagem (ícone) na interface gráfica. Compile e execute este programa. Cuidado para que o arquivo com a imagem esteja acessível ao método main.

  3. Sua tarefa agora será alterar o código de `GameItemTestGUI.java para setar e mostrar, na interface gráfica, imagens associadas a cada item na sacola.

Entrega

Continue entregando seus exercícios no repositório das práticas anteriores, dentro de uma pasta java5. Se você usou o repl.it, pode simplesmente adicionar um README.md dentro da pasta, com os links para os códigos online.