Aprendendo :Classe ContaCorrente e ContaPoupança!

Pessoal, alguem poderia ver se esse codigo esta certo, na classe conta poupança eu coloco pro construtor receber 4 paramentros porem chamo o construtor da classe pai e já dou a esse contrutor 3 parametros e completo o 4º por fora, pode acontecer isto ?? no mais alguem pode dizer se há algum erro de POO ??

	public class contaCorrente{
	   Private String nomeCorrentista;
	   private int numeroConta;
	   private float saldoConta;
	
	   public contaCorrente(String titular, int nconta, float saldo){
	      this.nomeCorrentista = titular;
	      this.numeroConta = nconta;
	      this.saldoConta = saldo;	   
	   }

	   public void depositar(float valorDeposito){
	      saldoConta = saldoConta + valorDeposito;
	   }

	   public void sacar(float valorSaque){
              if (valorSaque <= saldoConta)
		saldoConta = saldoConta - valorDeposito;
	      else
		System.out.println("Saldo insuficiente!");

	   }
	
	   public void mostrarStatus(){
	      System.out.println(nomeCorrentista);
	      System.out.println(numeroConta);
	      System.out.println("R$ " + saldoConta);
	   }
	}
	public class contaPoupanca extends contaCorrente{
	   private float percentAdd;
	
	   public contaPoupanca(String titular, int nconta, float saldo, float adicional){
	      super(titular, nconta, saldo);
	      this.percentAdd = adicional;
	   }

	   public void addRendimentos(float addRendimento){
	      this.saldoConta = this.saldoConta * addRendimento;
	   }
	}

Cara, é issu ai… tá corretíssimo…
só falta corrigir o Private na classe conta corrente senão dá erro de compilação…
e uns getters para nomeCorrentista e numeroConta… no mais, tá blz. :wink:

Pra que os getters e setters? Ta bom demais assim! :wink:

Ah, os nomes de classes em Java geralmente comecam com letras maiusculas. So um toque de estilo, no mais, o codigo ta otimo.

Olá,

Como diria o próprio CV, quanto menos getters melhor. :wink:

]['s

Em que parte o private está incorreto ???porque daria erro de compilação ?

o P maiusculo - Java eh estritamente sensivel a maiusculas, o que eh otimo, ou teriamos a galera do mainframe escrevendo codigo com o capslock ligado :smiley:

nem tinha percebido, só iria ver na hora da compilação, brigado mesmo !
:stuck_out_tongue:

Pessoal, compilei a classe conta corrente e deu o seguinte erro

C:\Java\contaCorrente.java:18: cannot resolve symbol
symbol  : variable valorDeposito 
location: class contaCorrente
		saldoConta = saldoConta - valorDeposito;
                                          ^
1 error

Alguém sabe dizer oque é ???

Não apareceu , mas a seta do erro aponta para a variavel local que é recebida como parametro “valorDeposito” e só para constar, o primeiro “private” que coloquei como maiúsculo já consertei.

alguma luz ?

[quote=codigo mal educado] public void sacar(float valorSaque){
if (valorSaque <= saldoConta)
saldoConta = saldoConta - valorDeposito;
else
System.out.println(“Saldo insuficiente!”);

   }[/quote]

E fez-se a luz :mrgreen:

Zahl bless Ctrl+c Ctrl+V :mrgreen:

Quanto ao construtor, um construtor deve receber o mínimo necessário para o objeto funcionar. Você pode ter (sem abuso, por favor!) cosntrutores de conveniência que acrescentam mais coisas, mas na base o construtor deve suprir no mínimo o que sua classe vai precisar.

Uma classe cuja instância não precisa de mais nada pode ter um construtor vazio apenas.

[]s

Não entendi oque tem a ver o contrutor, já está ok, sem problemas, só fiquei em fuvida porque ele não compila quando chega no metodo “Sacar”

:wink:

Valeu a todos pela ajuda, descobri o erro, valeu mesmo Shoes pela ajuda. Meu mal e copiar e colar, se eu tivesse visto antes a linha 18 tinha visto o erro !

Surgiu agora um erro quando tentei compilar conta poupança, nas linhas onde tento usar a variavel “saldoConta”, ele informa que essa variavel é privada, entaum a melhor forma seria qeu criar um get pra recuperar esse dado ???

Surgiu agora um erro quando tentei compilar conta poupança, nas linhas onde tento usar a variavel “saldoConta”, ele informa que essa variavel é privada, entaum a melhor forma seria qeu criar um get pra recuperar esse dado ??? eu achei que a classe poupança herdava essa variavel quando usei o extends ?? ou me enganei ?

De http://www.linux.ime.usp.br/~bani/java/scjp-modificadores.htm:

Ou seja, você deve mudar o acesso à variável, seja usando um get, seja usando outro modificador.

Ou fazer de um jeito que vc nao precise alterar o modificador ou colocar um getter, assim vc nao quebra o encapsulamento :wink:

Que jeito cv??

Resumindo o que ele quiz dizer. Faca de qualquer jeito mas nao mude o modificador do atributo. :wink:

Mas neste caso os atributos poderiam ser protected assim nao teria problema de acesso nas sub-classes.

]['s