Pessoall...
To com a seguinte duvida.
Analisando o s códigos
conta.javapublic class conta{
private double saldo;
//construtor
public conta(double deposito){
setSaldo(deposito);
}
public double getSaldo(){
return saldo;
}
protected void setSaldo(double d){
if (d > 0){
this.saldo = d;
}else{
geraErro(0);
}
}
}
Criei uma descendente poupanca.java
public class poupanca extends conta{
private double txJuros;
public poupanca(double deposito,double juros){
super(deposito);
this.txJuros = juros;
}
protected void setJuros(){
setSaldo((getSaldo() *txJuros/100)+getSaldo());
}
public double getSaldo(){
//só para ilustrar
return 2000;
}
}
na main testeConta.java fiz o seguinte
public class testConta{
public static void main(String args[]){
conta c1 = new poupanca(5000,2.2);
System.out.println(c1.getSaldo());
}
}
Minha dúvida é pq não posso fazer c1.setJuros();
E quando chamo o metodo getSaldo() ele chama o metodo da class filha ?
É uma duvida meio conceitual sobre poliformismo (acho que é isso)...
tkz...
:D

