Objectivos

  • Realização de comentários utilizando a ferramenta javadoc.
  • Exemplificar a utilização de contentores e iteradores.
  • Utilização de packages em Java.

Actividade

  1. Realização de comentários a código Java utilizando o formato da ferramenta Javadoc: ver exemplo.
  2. Organização do código em packages. Ver esta breve explicação sobre packages.
  3. Resolução do enunciado da aula.
  4. Utilização de packages no código concretizado.
  5. Resolução do EP7, caso tenha tempo. Este exercício de programação deve ser entregue até ao início da próxima aula de laboratório.

Comentários em Java

Javadoc é um programa fornecido pelo ambiente de execução do Java que é responsável por gerar documentação sobre código Java.  A documentação gerada está no formato HTML O formato de comentários utilizado por Javadoc tornou-se no de facto standard para documentar classe Java. Mais informação na página oficial do Javadoc

Enunciado da Aula

Considere editor gráfico descrito na 4ª aula de laboratório. Pretende-se agora adicionar a seguinte funcionalidade. As formas criadas devem ser guardadas preservando a ordem de criação. No entanto, deve ser possível colocar uma dada forma no fim ou no início desta ordenação. Deve ainda ser possível desenhar todas as formas existentes e remover uma forma existente.

Trabalho Proposto

Nesta aula, os alunos devem fazer o seguinte trabalho (respeitando a ordem indicada):

  1. Antes de começar a alterar o código desenvolvido na aula anterior para suportar estas novas funcionalidades, primeiro deve organizar o código desenvolvido e utilizar packages. Assim, coloque o código relacionado com as formas desenvolvido na aula anterior no package editor.core: Editor, Form, Square, Line, Circle e Point. Coloque a classe Test no package editor.
  2. Depois de ter organizado o código, compile-o e corra a classe Test.
  3. Adicione as seguintes funcionalidades
    1. Guardar uma forma no editor, preservando a ordem de inserção;
    2. Colocar uma dada forma (já presente no editor) no início ou no fim do conjunto das formas existentes num editor;
    3. Obter uma forma de um editor dado o seu identificador único (devolvendo null caso não exista);
    4. Remover uma forma do editor;
    5. Obter as formas actuais do editor.
  4. Após ter concretizado as funcionalidades descritas, teste o código realizado. Para tal, altere a classe Test por forma a exercitar as novas funcionalidades. Por exemplo, adicione as formas criadas ao editor e de seguida obtenha as formas do editor e desenhe cada forma (imprima a cadeia de caracteres devolvida pela invocação do método draw() sobre a forma).
  5. Concretize a seguinte funcionalidade. Suponha que podemos ter editores com um número muito grande formas e que queremos ter um custo baixo na procura de uma forma dado com um identificador. Altere o código realizado por forma a que esta operação tenha um custo O(1). Note que a concretização desta funcionalidade não deve alterar a funcionalidade de devolver o conjunto de formas, por ordem de inserção, do editor.
  6. Após ter realizado a sua solução, compare a sua solução com esta solução proposta:  editor.jar.
  7. Realizar o EP7 caso tenha tempo.