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 ??
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.
cv1
Pra que os getters e setters? Ta bom demais assim!
Ah, os nomes de classes em Java geralmente comecam com letras maiusculas. So um toque de estilo, no mais, o codigo ta otimo.
F
fabio.patricio
Olá,
Como diria o próprio CV, quanto menos getters melhor.
]['s
vanilton.coelho
Em que parte o private está incorreto ???porque daria erro de compilação ?
cv1
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
vanilton.coelho
nem tinha percebido, só iria ver na hora da compilação, brigado mesmo !
vanilton.coelho
Pessoal, compilei a classe conta corrente e deu o seguinte erro
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 ?
smota
<blockquote><divclass="quote-author">codigo mal educado:</div> public void sacar(float valorSaque){if (valorSaque <= saldoConta)saldoConta = saldoConta - valorDeposito;elseSystem.out.println(“Saldo insuficiente!”);
}</blockquote>
E fez-se a luz :mrgreen:
pcalcado
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
vanilton.coelho
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”
pcalcado
vanilton.coelho
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 !
vanilton.coelho
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 ???
vanilton.coelho
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 ?
Ou seja, você deve mudar o acesso à variável, seja usando um get, seja usando outro modificador.
cv1
Ou fazer de um jeito que vc nao precise alterar o modificador ou colocar um getter, assim vc nao quebra o encapsulamento
_fs
Que jeito cv??
F
fabio.patricio
Resumindo o que ele quiz dizer. Faca de qualquer jeito mas nao mude o modificador do atributo.
Mas neste caso os atributos poderiam ser protected assim nao teria problema de acesso nas sub-classes.
]['s
_fs
Não fez muito sentido @.@
O cv falou de não alterar o modificador (que está private) e sem criar um getter @.@
F
fabio.patricio
LIPE:
Não fez muito sentido @.@
Nao fez sentido o que eu falei, o que o CV falou ou os dois? o.O
Pois é, interpretacao de portugues, em uma mesma frase duas pessoas entenderam diferente. Ta na hora do CV dizeer o que realmente ele falou.
]['s
cv1
Povo complicado
Eu falei as duas coisas - sem getter e mantendo private. Fica de licao de casa descobrir como fazer
_fs
Só retornar todos os dados no método toString da classe, separados por vírgula :mrgreen:
fiquei curioso abrindo google
odeio você
:mrgreen:
cv1
Lips, uma pesquisada por Law Of Demeter deve dar uma esclarecida. Todo caso, continue lendo :D
So agora que eu notei um problemao com o codigo original do post - que causou boa parte da confusao toda. Voce nao precisa ter acesso aquela variavel nao soh por ser feio e causar caries quebrar o encapsulamento assim, mas sim pq uma ContaPoupanca nao eh uma especializacao de ContaCorrente!
Sao dois tipos de conta, cada uma com suas peculiaridades. Dando uma reformada no sistema, chegamos a isso:
public interface Conta {
public void debitar(BigDecimal valor);
public void creditar(BigDecimal valor);
public void transferir(BigDecimal valor, Conta outraConta);
public void receberVisita(ContaVisitor visitor);
}
publicclassContaCorrenteimplementsConta{...}
publicclassContaPoupancaimplementsConta{}
public interface ContaVisitor {
public void visitar(Conta conta);
}
vanilton.coelho
também achei meio estranho contapoupança herdar de contacorrente, porém é uma questão de uns exercicios que estou fazendo de uma apostila da faculdade, e tentei fazer mesmo assim, ainda não estou muito familiarizado com interface, ainda estou estudando o básico !, mas valeu a todos pelas discussões.
Valeu a todos pela ajuda.
F
fabio.patricio
cv:
So agora que eu notei um problemao com o codigo original do post - que causou boa parte da confusao toda. Voce nao precisa ter acesso aquela variavel nao soh por ser feio e causar caries quebrar o encapsulamento assim, mas sim pq uma ContaPoupanca nao eh uma especializacao de ContaCorrente!
Sao dois tipos de conta, cada uma com suas peculiaridades. Dando uma reformada no sistema, chegamos a isso:
CV sendo charo agora, mas tentando entender. :mrgreen:
Essas conta poupanca que sao embutidas na conta corrente nao seria o caso de uma ContaPoupanca filha de ContaCorrente, já que trabalham com o mesmo saldo, etc?
]['s
F
fws
Galera tenho uma atividade semelhante a essa de conta corrente, só que na minha os clientes devem ser armazenados em vetores e só preciso ter: nome, numero da conta e saldo.
usei o programa do amigo para fazer umas classes pedidas no meu trabalho tambem, como saque e depoisto.
sou iniciante em java, se tiver como me mostrar como ficaria a classe cadastro usando vetor.
desde ja agradeço a ajuda
DavidUser
Vc utiliza de ferramentas apropiadas para escrita em java? Eclipse, NetBeans, etc…
Se não, a utilização dessas ferramentas, elas ajudam e muito a diminuir erros de escrita no código, e fazem uma boa monitoria quando esta aprendendo a programar em Java
F
fws
por enquanto, coloco o algoritmo em notepad e depois compilo pelo cmd, ainda não comecei a usar nenhuma dessas ferramentas.
DavidUser
Comece Usando um “textPad” ou um “Notepad++”
F
fws
sim sim, só queria uma ajuda para montar uma classe de cadastro de clientes usando vetor
nem que me mandem um algoritmo pronto e errado, só pra ter uma noção