A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Laboratório de Java Classes Concretas e Abstratas (Lab. IV) Prof. Guido Araújo.

Apresentações semelhantes


Apresentação em tema: "Laboratório de Java Classes Concretas e Abstratas (Lab. IV) Prof. Guido Araújo."— Transcrição da apresentação:

1 Laboratório de Java Classes Concretas e Abstratas (Lab. IV) Prof. Guido Araújo

2 Classes Concretas Livro +bloqueia() +desbloqueia() +empresta() +retorna() Classe que pode ser instanciada diretamente class Livro {.... public void bloqueia() {.... }.... } public static void main() {.... Livro livro;.... }

3 Herança é tudo ? Fita +alteraNivel() +empresta() +retorna() Considere uma biblioteca de livros e fitas Livro +bloqueia() +desbloqueia() +empresta() +retorna() Livro Fita

4 Classes Abstratas Fita +alteraNivel() +empresta() +retorna() Captura aspectos comuns e abstratos do objeto Classe não pode ser instanciada diretamente Livro +bloqueia() +desbloqueia() +empresta() +retorna() abstract Item +empresta() +retorna() abstract class Item {.... public void empresta(); public void retorna();.... } class Livro extends Item {.... }

5 Métodos Abstratos Possuem somente a assinatura É abstrata se possui pelo menos um único método abstrato Sub-classe de classe abstrata precisa implementar todos métodos senão é abstrata abstract class Item {.... abstract public void empresta();.... } class Livro extends Item {.... public void empresta() {...} public void retorna();.... }

6 Exercício No diretório abstrata Compile o programa TestandoAbstrata.java Efetue todas as correções (são 2 erros) Em main, remova o comentário da instanciação de Livro Coloque o comentário de volta novamente

7 Laboratório de Java Interfaces (Lab. IV cont.) Prof. Guido Araújo

8 Interfaces Especifica um tipo abstrato de dados (API) –Conjunto de assinaturas de métodos –Não implementa métodos nem estrutura de dados –Permite constantes: final float pi = ; interface ItemEmprestaval {.... boolean estaDisponivel(); boolean estaEmprestado();.... }

9 Utilizando Interfaces interface ItemEmprestavel {.... boolean estaDisponivel(); boolean estaEmprestado();.... } class Livro implements ItemEmprestavel {.... public boolean estaDisponivel() {.... } public boolean estaEmprestado() {.... }.... }

10 Utilizando Interface Interface Classe Abstrata Concreta Objeto Projeto Implementação Execução

11 Ouro Regras de Ouro do Bom Projeto interface Item {.... } class Livro implements Item{.... public: somente métodos da interface.... } class Usuario { Livro livro; CD cd; } Todo tipo abstrato de dados deve possuir uma interface Públicos somente tipos da interface Instâncias devem usar a interface Item item;

12 Exercício No diretório interface Compile, execute e entenda SemInterface.java Compile, execute e entenda ComInterface.java Qual a diferença entre eles no que se refere à complexidade ?

13 Laboratório de Java Tratamento de Exceção (Lab. IV cont.) Prof. Guido Araújo

14 Hierarquia de Exceções Throwable Error Exception VirtualMachineError OutOfMemoryError RuntimeException ArithmeticException

15 Fluxo de uma Exceção throw e. try { } catch (Exception e) { } finally { }

16 Fluxo Normal try { } catch (Exception e) { } finally { }

17 Exercício 3 No diretorio excecoes Compile, execute e entenda ExceptionTeste.java Altere deuErro para true Compile, execute e entenda o que ocorreu

18 Ordem de Tratamento throw e. try { } catch (Arithmeticexception e) { } finally { } catch (Runtimeexception e) { } catch (Exception e) { }

19 Exercício No diretorio excecoes Compile OrdemTratamento.java Altere o programa para que ele compile corretamente Compile, execute e entenda Instancie agora uma Exception ao invés de uma ExceptionNeta Compile e descubra o que ocorreu

20 Hierarquia do Tratamento (interna) try finally catch finally catch NÃO TRATA

21 Exercício 3 No diretorio excecoes Compile, execute e entenda HierarquiaTratamento.java Altere o valor de numException para 2 Compile, execute e entenda

22 Throw em Método (externa) void chamador() { try catch finally void chamado() throws Exception { } } chamado() throw e..

23 Exercício No diretorio excecoes Compile ThrowEmMetodo.java –O compilador espera um tratador para a execução lançada dentro de chamado(). –O que fazer para informar que a exceção é tratada for a de chamado(). Efetue a correção apropriada, compile e execute Atribua true a deuErro, compile, execute e entenda


Carregar ppt "Laboratório de Java Classes Concretas e Abstratas (Lab. IV) Prof. Guido Araújo."

Apresentações semelhantes


Anúncios Google