Carregar apresentação
A apresentação está carregando. Por favor, espere
1
Classes Concretas e Abstratas
Laboratório de Java Classes Concretas e Abstratas (Lab. IV) Prof. Guido Araújo
2
Classes Concretas Classe que pode ser instanciada diretamente
class Livro { .... public void bloqueia() { .... } } public static void main() { Livro livro; Livro +bloqueia() +desbloqueia() +empresta() +retorna()
3
Herança é tudo ? Considere uma biblioteca de livros e fitas Livro Fita
+bloqueia() +desbloqueia() +empresta() +retorna() Fita +alteraNivel() +empresta() +retorna() Livro Fita Fita Livro
4
Classes Abstratas Captura aspectos comuns e abstratos do objeto
Classe não pode ser instanciada diretamente abstract class Item { .... public void empresta(); public void retorna(); } abstract Item +empresta() +retorna() Livro +bloqueia() +desbloqueia() +empresta() +retorna() Fita +alteraNivel() +empresta() +retorna() class Livro extends Item { .... }
5
Métodos Abstratos Possuem somente a assinatura
abstract class Item { .... abstract public void empresta(); } 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 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 Projeto Implementação Execução Interface Classe
Abstrata Concreta Execução Objeto
11
Regras de Ouro do Bom Projeto
interface Item { .... } Todo tipo abstrato de dados deve possuir uma interface Públicos somente tipos da interface Instâncias devem usar a interface class Livro implements Item{ .... public: somente métodos da interface.... } class Usuario { Livro livro; CD cd; } 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 RuntimeException OutOfMemoryError ArithmeticException
15
Fluxo de uma Exceção try { catch (Exception e) { } } finally { }
throw e . 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 try { catch (Arithmeticexception e) { } }
throw e . catch (Arithmeticexception e) { } } catch (Runtimeexception e) { finally { } 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 try catch NÃO TRATA finally catch finally
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() { chamado() void chamado() throws Exception { try throw e catch finally } }
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
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.