Herança e Dynamic Binding

Programação 3: Orientação a Objetos e Java


Objeto Conta Especial

 

Estados de uma Conta Especial

 

Contas Especiais: Assinatura

class ContaEspecial extends Conta {

void rende_bonus() {}

double bonus() {}

void credito(double valor) {}

ContaEspecial (String num) {}

}

 

Contas Especiais: Descrição

class ContaEspecial extends Conta {

private double bonus;

void credito(double valor) {

bonus = bonus + (valor * 0.01);

super.credito(valor);

}

void rende_bonus() {

super.credito(bonus);

bonus = 0;

}

double bonus() {return bonus;}

ContaEspecial (String num) {

super (num);

bonus = 0;

}

}

 

Redefinição de Métodos

 

Usando Contas Especiais

...

ContaEspecial contae;

contae = new ContaEspecial(¨21.342-7¨);

contae.credito(200.00);

contae.debito(100.00);

contae.rende_bonus();

System.out.print(contae.saldo());

...

 

Ligações Dinâmicas

...

Conta conta;

conta = new ContaEspecial(¨21.342-7¨);

conta.credito(200.00);

contae.debito(100.00);

((ContaEspecial) conta).rende_bonus();

System.out.print(conta.saldo());

...

 

Ligações Dinâmicas


 

Sérgio Soares(scbs@di.ufpe.br)