- 1. Documentao com Javadoc
2. Problema
- Como saber quais classes podemos usar? Quais os seus mtodos e o
que eles fazem?
-
- Atravs de alguma documentao.
- A documentao do Java pode ser acessada via Internet a partir do
endereo:
-
- http://java.sun.com/javase/6/docs/api/
-
- Quadro superior esquerdo: pacotes
-
- Quadro inferior esquerdo: classes e interfaces.
-
- Quadro da direita: detalhes do que foi escolhido.
-
- Mtodos e atributos privados no aparecem.
-
- Podemos gerar nossos prprios javadoc a partir da linha de
comando, usando o comando javadoc.
3. Gerao de Javadoc
-
- Menu Project > Generate Javadoc
-
- Ou pelo export do projeto.
4. Javadoc
-
- O Javadoc criado a partir de comentrios delimitados por /** e
*/.
-
- Linhas entre os delimitadores apenas precisam de um *.
-
- Nos comentrios podemos definir autor, verso, parmetros,
retorno, etc.
/** * Classe responsavel por moldar as Contas do Banco * *
@author Guilherme * */ public abstract classConta { 5. Javadoc /**
* Metodo que incrementa o saldo. * * @param valor */ public
voiddeposita( doublevalor) { 6. Javadoc 7. Comentrios em Java
-
-
- Iniciam com duas barras consecutivas ( // ) e continuam at o
final da linha
-
-
- Iniciam com a seqncia barra asterisco ( /* ) e encerram com a
seqncia inversa asterisco barra ( */ )
-
-
- Podem se estender por mais de uma linha
-
-
- Comumente usa-se um asterisco no incio de cada linha que compe
o comentrio
8. Comentrios em Java //Exemplo de comentrio de linha //Outra
linha de comentrio /* Exemplo de comentrio* em bloco que se estende
por mais* de uma linha */ /* Outro exemplo de comentrio em bloco */
9. Documentao com Javadoc
-
- Possui um conjuntodoc tagsque so comandos iniciados por@e
divididas em dois subconjuntos:
-
-
- Standalone doc tags devem estar no incio de cada linha
-
-
- In line doc tags podem aparecer em qualquer parte do javadoc e
devem vir entre chaves {...}
10. Documentao /** * Classe base responsvel pelo armazenamento
das * informaes do cliente da loja. * @autor Fulano * @version 1.0
*/ public classPessoa { /** * Identidicador nico do Cliente no
sistema */ private int id ; ... /** * Construtor ... */
publicPessoa() { ... } /** * Fornece o identificador nico do
cliente * @return Nmero que identifica o clienete no sistema */
public intgetId(){return id ; } // ... } 11. HTML embutido
-
- javadocpassa todo cdigo HTML contido no comentrio para o HTML
gerado
-
- Usado para formatar o comentrio
/** * * System.out.println(new Date()); * */ /** * Voc pode
inserir listas: *
- *
- Item um *
- Item dois *
- Item trs *
*/ 12. doc tags
-
- @see faz referncia documentao de outra classe
-
-
- @see nome-completamente-qualificado
-
-
- @see nome-completamente-qualificado#nome-metodo
-
- Gera o link See Also na documentao
-
- {@link} semelhante tag see,exceto pelo fato de poder ser
usadainlinee permitir a adio de um rtulo
-
-
- {@link nome-completamente-qualificado#nome-metodo rotulo}
-
- {@docRoot}- fornece um path relativo para o diretrio raiz da
documentao gerada
/** * Veja o Copyright . */ 13. doc tags
-
- {@inheritDoc} herda o comentrio de uma superclasse dentro do
comentrio corrente
-
- @version informao sobre a verso da classe
14. doc tags
-
- @author informao sobre o autor da classe
-
- @since permite informar a verso do cdigo a partir da qual um
caracterstica e suportada
15. doc tags
-
- @param usada na documentao de mtodos. Permite fazer uma descrio
da lista de parmetros de um mtodo
-
- @return usada na documentao de mtodos. Permite fazer uma
descrio do retorno do mtodo
16. doc tags
-
- @deprecated indica que o elemento relacionado ser substitudopor
outro melhorado
17. Parte integrante do JDK
-
- javadoc [ options ] [ packagenames ] [ sourcefilenames ] [
@argfiles ]
-
-
- options: Opes de linha de comando
-
-
- packagenames: lista de nomes de pacotes, separados por espao,
que devero ser documentados
-
-
- sourcefilenames: lista de nomes de arquivos, separados por
espao. Javadoc processar todos os arquivos terminados com.java
-
-
- @argfiles: um ou mais arquivos que contm opes Javadoc, lista de
pacotes ou lista de arquivos fontes em qualquer ordem