2012/01-LTP- Herança, Reescrita e Polimorfismo

Embed Size (px)

Citation preview

  • 7/31/2019 2012/01-LTP- Herana, Reescrita e Polimorfismo

    1/17

    Linguagem e Tcnica de Programao

    Tecnologia Java

    Professor: Hlder Seixas LimaE-mail: [email protected]

  • 7/31/2019 2012/01-LTP- Herana, Reescrita e Polimorfismo

    2/17

    Orientao a Objetos:Herana, reescrita e polimorfismo

  • 7/31/2019 2012/01-LTP- Herana, Reescrita e Polimorfismo

    3/17

    Imagine o contexto de umsistema bancrio

    Um banco que possui vrias agncias;

    Os clientes podem abrir contas em diversasagncias;

    Existem dois tipos de contas: corrente epoupana;

    A conta corrente possui: nmero, nmero da

    agncia, cliente, saldo e limite; A conta poupana possui: nmero, nmero da

    agncia, cliente, saldo e dia de aniversrio;

  • 7/31/2019 2012/01-LTP- Herana, Reescrita e Polimorfismo

    4/17

    O que acha desta soluo?

  • 7/31/2019 2012/01-LTP- Herana, Reescrita e Polimorfismo

    5/17

    Qual problema da soluo?Duplicao de cdigo

  • 7/31/2019 2012/01-LTP- Herana, Reescrita e Polimorfismo

    6/17

    Como resolver o problema?Herana

  • 7/31/2019 2012/01-LTP- Herana, Reescrita e Polimorfismo

    7/17

    Herana

    Herana um recurso que permite que novasclasses sejam definidas a partir de classes jdefinidas.

    Na hierarquia de classes: Super classes (ou ascendente): so as

    ascendentes de uma classe.

    Sub classes (ou descendente): so asdescendentes de uma classe

    Classe me: a ascendente direta de um classe

    Classe filha: a descendente direta de uma classe.

  • 7/31/2019 2012/01-LTP- Herana, Reescrita e Polimorfismo

    8/17

    Herana No exemplo:

    Filha descendente ou subclasse deMe e Av.

    Me e Av so ascendentes ousuperclasses de Filha

    Me descendente ou subclasse deAv.

    Me filha de Av.

    Significa que: Me herda caractersticas e

    comportamentos de Av.

    Filha herda caractersticas ecomportamentos de Me e de Av.

  • 7/31/2019 2012/01-LTP- Herana, Reescrita e Polimorfismo

    9/17

    Testando o Conceito de Herana

    Crie um novo projeto;

    Implemente as classes de entidade Agencia eCliente;

  • 7/31/2019 2012/01-LTP- Herana, Reescrita e Polimorfismo

    10/17

    Testando o Conceito de Herana Implemente a classe me: Conta;

    Perceba que os atributos so declarados comoprotected e no como private;

    No caso dos atributos Agencia e Cliente

    referenciamos os Objetos e no cdigos.

  • 7/31/2019 2012/01-LTP- Herana, Reescrita e Polimorfismo

    11/17

    Testando o Conceito de Herana

    Implemente as classes filhas: ContaCorrente eContaPoupanca;

    Perceba que a herana implementada

    atravs da palavra reservada extends.

  • 7/31/2019 2012/01-LTP- Herana, Reescrita e Polimorfismo

    12/17

    Testando o Conceito de Herana

    Instancie objetos no main e faa observaes.

  • 7/31/2019 2012/01-LTP- Herana, Reescrita e Polimorfismo

    13/17

    Testando o Conceito de Herana

  • 7/31/2019 2012/01-LTP- Herana, Reescrita e Polimorfismo

    14/17

    Reescrita de mtodo

    Considere que toda conta possui um mtodoque representa o valor disponvel para saque;

    Por padro o valor disponvel para saque o

    saldo; Especialmente para a conta corrente o valor

    disponvel para saque saldo mais o limite.

  • 7/31/2019 2012/01-LTP- Herana, Reescrita e Polimorfismo

    15/17

    Reescrita de mtodo

    Acrescente o seguinte mtodo na classeConta.

  • 7/31/2019 2012/01-LTP- Herana, Reescrita e Polimorfismo

    16/17

    Reescrita de mtodo

    Reescreva o mtodo na classe ContaCorrente.

  • 7/31/2019 2012/01-LTP- Herana, Reescrita e Polimorfismo

    17/17

    Reescrita de mtodo

    Agora acrescente uma chamada para o novomtodo no mtodo main e observe por ondeest passando.