TADS:Orientação a Objetos I: mudanças entre as edições
Sem resumo de edição |
|||
Linha 39: | Linha 39: | ||
== Diário de Bordo == | == Diário de Bordo == | ||
Visão geral sobre pilha de execução no java | |||
---------- | |||
Erros: | |||
-de programação (sintaxe) -> aparece na compilação | |||
-de lógica -> aparece nos testes | |||
-de ambiente, de inconsistência de dados (ex: divisão por zero; objeto null, etc) -> tratamento de exceções | |||
--------- | |||
Exceções | |||
- Eventos que podem fazer o programa falhar, geralmente relacionados ao ambiente ou a inconsistência de dados. | |||
Ex: | |||
- arquivo corrompido | |||
- conexão de rede interrompida | |||
- dados de um tipo diferente do esperado | |||
- erro de divisão por zero | |||
- objeto inexistente (null) | |||
- Tratamento de Exceções | |||
- tentativa de contornar o problema (se possível, corrigir, senão informar o usuário "decentemente") | |||
- O java força o tratamento das situações mais propensas a erros. | |||
- Uma exceção se propaga por toda a pilha de métodos até encontrar um bloco de tratamento ou chegar ao método main. Se não há tratamento, a mensagem do erro é exibida ao usuário e o programa encerra. | |||
- O trecho de código que pode gerar exceção deve estar em um bloco que possa tratar ou apenas lançar a exceção ao método chamador. | |||
- Para lançar uma exceção "para cima" (para o método chamador do método atual) usa-se a palavra-chave throws seguida do tipo da Exceção. | |||
- Exception: Exceção mais genérica, todas descendem direta ou indiretamente dela. | |||
- Existem diversas exceções mais específicas. Ex: IOException, FileNotFoundException, NullPointerException, ArrayIndexOutOfBoundException | |||
-Para tratar exceções | |||
- O trecho de código que pode gerar exceção vai dentro de um bloco try/catch, onde: | |||
- try é onde se tenta executar o código | |||
- catch serve para capturar e tratar um determinado tipo de exceção | |||
- Um bloco try pode ter vários blocos catch | |||
- Opcionalmente podemos usar o bloco finally: sempre é executado, independente de ocorrer ou não uma exceção. (ex: para encerrar uma conexão com o bando de dados ou fechar um arquivo aberto) | |||
Edição das 23h56min de 1 de outubro de 2014
Ano Letivo 2014
Professor: Humberto Beneduzzi (humberto.beneduzzi@ifpr.edu.br)
Encontros: quartas-feiras das 20h55 às 22h35 e quintas-feiras das 19h às 20h40 - 4 aulas/semana
Atendimento paralelo: quintas-feiras das 13h20 às 15h20.
Carga Horária
- 72 Aulas / 60 Horas
Ementa
- O paradigma Orientado a Objetos.
- Conceitos fundamentais da Orientação a Objetos: Classe, Objeto, Atributo, Método, Encapsulamento, Associação (Agregação e Composição), Herança, Polimorfismo.
- Aplicação dos conceitos da Orientação a Objetos em uma linguagem de programação.
Bibliografia
- BÁSICA:
- Schildt, Herbert. Java para Iniciantes. 5ª ed., Bookman, 2013.
- Coelho, Alex. Java Com Orientação a Objetos. 1ª ed., Ciencia Moderna, 2012.
- Santos, Rafael. Introdução À Programação Orientada a Objetos Usando Java. 1ª ed., Campus, 2003.
- DEITEL, Paul J.; DEITEL, Harvey M. Java: como programar. 8ª ed., Prentice Hall, 2010.
- Cornell, Gary; Horstmann, Cay S. Core Java - Vol. 1 - Fundamentos - 8ª ed., Pearson Education, 2010.
- COMPLEMENTAR:
- Araújo, Everton Coimbra. Orientação a Objetos com Java. 1ª ed., Visual Books, 2008.
- SINTES, Anthony. Aprenda Programação Orientada a Objetos em 21 Dias. 1ª ed., Makron Books, 2002.
- MCLAUGHLIN, B.; POLLISE, G.; WESTHEAD, D. Use a Cabeça! Análise e Projeto Orientado a Objeto. 1ª ed., Alta Books, 2007.
- Hunt, Andrew; Thomas, David. O Programador Pragmático. 1ª ed., Bookman, 2010.
- Sierra, Kathy, Bates, Bert. Use a Cabeça! Java. 2ª ed., Alta Books, 2007.
Material de apoio
- Documentação Oficial do java: http://docs.oracle.com/javase/7/docs/api/
- Apostila de Orientação a Objetos com Java: https://www.caelum.com.br/apostila-java-orientacao-objetos/
Diário de Bordo
Visão geral sobre pilha de execução no java
Erros: -de programação (sintaxe) -> aparece na compilação -de lógica -> aparece nos testes -de ambiente, de inconsistência de dados (ex: divisão por zero; objeto null, etc) -> tratamento de exceções
Exceções
- Eventos que podem fazer o programa falhar, geralmente relacionados ao ambiente ou a inconsistência de dados. Ex: - arquivo corrompido - conexão de rede interrompida - dados de um tipo diferente do esperado - erro de divisão por zero - objeto inexistente (null)
- Tratamento de Exceções - tentativa de contornar o problema (se possível, corrigir, senão informar o usuário "decentemente")
- O java força o tratamento das situações mais propensas a erros.
- Uma exceção se propaga por toda a pilha de métodos até encontrar um bloco de tratamento ou chegar ao método main. Se não há tratamento, a mensagem do erro é exibida ao usuário e o programa encerra.
- O trecho de código que pode gerar exceção deve estar em um bloco que possa tratar ou apenas lançar a exceção ao método chamador.
- Para lançar uma exceção "para cima" (para o método chamador do método atual) usa-se a palavra-chave throws seguida do tipo da Exceção. - Exception: Exceção mais genérica, todas descendem direta ou indiretamente dela. - Existem diversas exceções mais específicas. Ex: IOException, FileNotFoundException, NullPointerException, ArrayIndexOutOfBoundException
-Para tratar exceções - O trecho de código que pode gerar exceção vai dentro de um bloco try/catch, onde: - try é onde se tenta executar o código - catch serve para capturar e tratar um determinado tipo de exceção - Um bloco try pode ter vários blocos catch - Opcionalmente podemos usar o bloco finally: sempre é executado, independente de ocorrer ou não uma exceção. (ex: para encerrar uma conexão com o bando de dados ou fechar um arquivo aberto)