2012/01-ltp- herança, reescrita e polimorfismo
TRANSCRIPT
-
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.