INTRODUÇÃO - walderson.comwalderson.com/site/wp-content/uploads/2014/08/POO-12-13.pdf · das...

9
12. DOCUMENTAÇÃO PROGRAMAÇÃO ORIENTADA A OBJETOS 279 INTRODUÇÃO Na plataforma Java SE 7, há cerca de 4000 classes e interfaces disponíveis para utilizarmos em nossas aplicações Podemos visualizar a documentação dessas classes e interfaces na seguinte URL http://docs.oracle.com/javase/7/docs/api/ Além das bibliotecas da plataforma Java SE 7, há várias outras bibliotecas que podemos utilizar em nossas aplicações, como o JFreeChart, utilizado para criarmos gráficos http://www.jfree.org/jfreechart/api/javadoc/index.html Podemos gerar uma documentação que segue essa estrutura padrão do Java para as nossas classes e interfaces PROGRAMAÇÃO ORIENTADA A OBJETOS 280 INTRODUÇÃO PROGRAMAÇÃO ORIENTADA A OBJETOS 281 INTRODUÇÃO PROGRAMAÇÃO ORIENTADA A OBJETOS 282

Transcript of INTRODUÇÃO - walderson.comwalderson.com/site/wp-content/uploads/2014/08/POO-12-13.pdf · das...

12. DOCUMENTAÇÃO

PROGRAMAÇÃO ORIENTADA A OBJETOS 279

INTRODUÇÃO

Na plataforma Java SE 7, há cerca de 4000 classes e interfaces disponíveis para utilizarmos em nossas aplicações

Podemos visualizar a documentação dessas classes e interfaces na seguinte URL http://docs.oracle.com/javase/7/docs/api/

Além das bibliotecas da plataforma Java SE 7, há várias outras bibliotecas que podemos utilizar em nossas aplicações, como o JFreeChart, utilizado para criarmos gráficos http://www.jfree.org/jfreechart/api/javadoc/index.html

Podemos gerar uma documentação que segue essa estrutura padrão do Java para as nossas classes e interfaces

PROGRAMAÇÃO ORIENTADA A OBJETOS 280

INTRODUÇÃO

PROGRAMAÇÃO ORIENTADA A OBJETOS 281

INTRODUÇÃO

PROGRAMAÇÃO ORIENTADA A OBJETOS 282

A FERRAMENTA JAVADOC

Com o intuito de padronizar a estrutura e o visual das documentações das bibliotecas Java, no JDK (Java Development Kit), há uma ferramenta chamada javadoc que extrai comentários “especias” contidos no código fonte Java e gera a documentação das classes e interfaces

Comentários javadoc

Os comentários extraídos do código fonte pela ferramenta javadocdevem iniciar com “/**”

PROGRAMAÇÃO ORIENTADA A OBJETOS 283

A FERRAMENTA JAVADOC

Documentando um pacote

Para documentar um pacote, é necessário criar um arquivo chamado package-info.java dentro do pacote que desejamos documentar

Nesse arquivo, devemos adicionar apenas o comando package e um comentário javadoc

PROGRAMAÇÃO ORIENTADA A OBJETOS 284

A FERRAMENTA JAVADOC

Documentando uma classe ou interface

Para documentar uma classe ou interface, basta adicionar um comentário javadoc imediatamente acima da declaração da classe ou interface que desejamos documentar

PROGRAMAÇÃO ORIENTADA A OBJETOS 285

A FERRAMENTA JAVADOC

Documentando uma classe ou interface (cont.)

Podemos definir os autores de uma classe ou interface, através da tag@author

A versão pode ser declarada com a tag @version

Existem outras tags que podemos utilizar para deixarmos a documentação mais completa

PROGRAMAÇÃO ORIENTADA A OBJETOS 286

A FERRAMENTA JAVADOC

PROGRAMAÇÃO ORIENTADA A OBJETOS 287

A FERRAMENTA JAVADOC

Documentando um atributo

Para documentar um atributo, basta adicionar um comentário javadocimediatamente acima da declaração do atributo que desejamos documentar

PROGRAMAÇÃO ORIENTADA A OBJETOS 288

A FERRAMENTA JAVADOC

Documentando um construtor

Para documentar um construtor, basta adicionar um comentário javadoc imediatamente acima da declaração do construtor que desejamos documentar

Os parâmetros de um construtor podem ser documentados através da tag @param

As exceptions que podem ser lançadas por um construtor podem ser documentadas através da tag @throws

Essas duas tags podem se repetir no comentário javadoc caso o construtor tenha mais do que um parâmetro ou lance mais do que uma exception

PROGRAMAÇÃO ORIENTADA A OBJETOS 289

A FERRAMENTA JAVADOC

Documentando um construtor (cont.)

PROGRAMAÇÃO ORIENTADA A OBJETOS 290

A FERRAMENTA JAVADOC

Documentando um método

Para documentar um método, basta adicionar um comentário javadocimediatamente acima da declaração do método que desejamos documentar

Os parâmetros de um método podem ser documentados através da tag @param

As exceptions que podem ser lançadas por um método podem ser documentadas através da tag @throws

O valor de retorno de um método pode ser documentado através da tag @return

PROGRAMAÇÃO ORIENTADA A OBJETOS 291

A FERRAMENTA JAVADOC

Documentando um método

PROGRAMAÇÃO ORIENTADA A OBJETOS 292

EXERCÍCIOS DE FIXAÇÃO

1. Crie um pacote em seu projeto do NetBeans chamado documentacao

2. Adicione um pacote chamado br.com.univag.contas e outro chamado br.com.univag.funcionarios no pacote documentacao

3. Crie um arquivo no pacote documentacao.br.com.univag.contaschamado package-info.java com o seguinte conteúdo Para conseguir criar esta classe no NetBeans, acione o menu de contexto (use o botão

direito do mouse) no pacote documentacao.br.com.univag.contas, com o comando Novo > Outros

Na nova janela, Novo Arquivo, selecione a categoria Outro e o tipo de arquivo Arquivo Vazio

Clique no botão Próximo

Informe o nome do arquivo, package-info.java, clicando no botão Finalizar

PROGRAMAÇÃO ORIENTADA A OBJETOS 293

EXERCÍCIOS DE FIXAÇÃO

4. No pacote documentacao.br.com.univag.funcionarios crie um novo arquivo chamado package-info.java com o seguinte conteúdo

PROGRAMAÇÃO ORIENTADA A OBJETOS 294

EXERCÍCIOS DE FIXAÇÃO

5. No pacote documentacao.br.com.univag.contas crie a classe Conta com o seguinte conteúdo

PROGRAMAÇÃO ORIENTADA A OBJETOS 295

EXERCÍCIOS DE FIXAÇÃO

PROGRAMAÇÃO ORIENTADA A OBJETOS 296

EXERCÍCIOS DE FIXAÇÃO

6. Utilize o menu de contexto em seu projeto e gere a documentação do mesmo

Observe a documentação gerada no browser internet, que será aberto automaticamente pelo NetBeans

Caso seu projeto possua mais pacotes e classes, a imagem a seguir será ligeiramente diferente, pois estes pacotes e classes também serão incluídos

PROGRAMAÇÃO ORIENTADA A OBJETOS 297

EXERCÍCIOS DE FIXAÇÃO

PROGRAMAÇÃO ORIENTADA A OBJETOS 298

13. EXCEPTIONS

PROGRAMAÇÃO ORIENTADA A OBJETOS 299

INTRODUÇÃO

Como erros podem ocorrer durante a execução de uma aplicação, devemos definir como eles serão tratados

A linguagem Java tem uma abordagem própria para lidar com erros de execução

Na abordagem do Java não são utilizados códigos de erro ou os retornos lógicos dos métodos

PROGRAMAÇÃO ORIENTADA A OBJETOS 300

ERRORS VS EXCEPTIONS

O primeiro passo para entender a abordagem do Java para lidar com os erros de execução é saber classificá-los

A classe Throwable modela todos os tipos de erros de execução

Há duas subclasses de Throwable: Error e Exception

A subclasse Error define erros que não devem ser capturados pelas aplicações pois representam erros graves que não permitem que a execução continue de maneira satisfatória

A subclasse Exception define erros para os quais as aplicações normalmente têm condições de definir um tratamento

PROGRAMAÇÃO ORIENTADA A OBJETOS 301

ERRORS VS EXCEPTIONS

PROGRAMAÇÃO ORIENTADA A OBJETOS 302

CHECKED E UNCKECKED

As exceptions são classificadas em checked e unchecked

Para identificar o tipo de uma exception, devemos considerar a árvore de herança da classe Exception

PROGRAMAÇÃO ORIENTADA A OBJETOS 303

CHECKED E UNCKECKED

As classes que estão na árvore da classe Exception mas não estão na árvore da RuntimeException são as chamadas checkedexceptions

Por outro lado, as classes que estão na árvore da RuntimeException são as chamadas unchecked exceptions

PROGRAMAÇÃO ORIENTADA A OBJETOS 304

LANÇANDO UMA UNCHECKED EXCEPTION

Quando identificamos um erro, podemos criar um objeto de alguma unchecked exception e “lançar” a referência dele com o comando throw

Observe o exemplo abaixo que utiliza a classe IllegalArgumentException que deriva diretamente da classe RuntimeException

PROGRAMAÇÃO ORIENTADA A OBJETOS 305

LANÇANDO UMA CHECKED EXCEPTION

Quando identificamos um erro, podemos criar um objeto de alguma checked exception e “lançar” a referência dele com o comando throw

Contudo, antes de lançar uma checked exception, é necessário determinar de maneira explícita através do comando throws que o método pode lançar esse tipo de erro

PROGRAMAÇÃO ORIENTADA A OBJETOS 306

CAPTURANDO EXCEPTIONS

Quando queremos capturar exceptions, devemos utilizar o comando try-cacth

PROGRAMAÇÃO ORIENTADA A OBJETOS 307

CAPTURANDO EXCEPTIONS

Podemos encadear vários blocos catch para capturar exceptions de classes diferentes

PROGRAMAÇÃO ORIENTADA A OBJETOS 308

EXERCÍCIOS DE FIXAÇÃO

1. Crie um pacote em seu projeto no NetBeans chamado exceptions

2. Crie uma classe para modelar os funcionários do sistema do banco

PROGRAMAÇÃO ORIENTADA A OBJETOS 309

EXERCÍCIOS DE FIXAÇÃO

3. Agora teste a classe Funcionario

Execute e observe o erro no console de saída

PROGRAMAÇÃO ORIENTADA A OBJETOS 310

EXERCÍCIOS DE FIXAÇÃO

4. Altere o teste para capturar o erro

Execute novamente e veja como mudou o comportamento da aplicação

PROGRAMAÇÃO ORIENTADA A OBJETOS 311

14. EXERCÍCIOS PARA ENTREGAR ATÉ 06/11/2014

PROGRAMAÇÃO ORIENTADA A OBJETOS 312

EXERCÍCIOS PARA ENTREGAR ATÉ 06/11/2014

1. Efetue a leitura do capítulo 15 (Object) da apostila da K19, efetuando os exercícios de fixação (crie um pacote chamado objectno seu projeto do NetBeans em vez de um projeto novo), exportando seu projeto para ZIP (ou compactando o diretório/pacote de código-fonte object) em seguida Enviar arquivo como resposta do exercício no Moodle

Aqueles que estiverem com problemas de acesso, podem enviar por e-mail, identificando seu nome e turma no texto do mesmo

2. Efetue a leitura do capítulo 16 (String) da apostila da K19, efetuando os exercícios de fixação (crie um pacote chamado string, no seu projeto do NetBeans em vez de um projeto novo), exportanto o seu projeto para ZIP (ou compactando o diretório/pacote de código-fonte string) em seguida e entregar da mesma forma acima

PROGRAMAÇÃO ORIENTADA A OBJETOS 313

EXERCÍCIOS PARA ENTREGAR ATÉ 06/11/2014

3. Efetue a leitura do capítulo 17 (Entrada e Saída) da apostila da K19, efetuando os exercícios de fixação (crie um pacote chamado entradasaida no seu projeto do NetBeans em vez de um projeto novo) e também os exercícios complementares, exportando seu projeto para ZIP (ou compactando o diretório/pacote de código-fonte entradasaida) em seguida e entregar da mesma forma que os exercícios do capítulo 15 (Object)

4. Efetue a leitura do capítulo 18 (Collections) da apostila da K19, efetuando os exercícios de fixação (crie um pacote chamado collections, no seu projeto do NetBeans em vez de um projeto novo), exportanto o seu projeto para ZIP (ou compactando o diretório/pacote de código-fonte collections) em seguida e entregar da mesma forma que os exercícios do capítulo 15 (Object)

PROGRAMAÇÃO ORIENTADA A OBJETOS 314