Métodos em Classes e Objectos

Boa tarde.

Estou iniciando o estudo da programação orientada ao objectos.

Tenho um problema com uma classe Conta onde criei as definições e criei também um método de retirar valores e outro de depositar valor retornando um valor booleano, garantindo que que tenho saldo com a condição if quer no retirar quer no depositar.

Segue o código da classe Conta e o programa que irá aplicar alguns métodos (retirar e depositar para obter um novo saldo)

[code]
class Conta {

int numero;
String dono;
double saldo;
double limite;

// método retirar valor -> saca

boolean saca(double valor) {
if (this.saldo < valor) {
return false;
} else {
this.saldo = this.saldo - valor;
return true;
}

// método depositar valor -> deposita

boolean deposita(double valor) {
if (this.saldo < valor) {
return false;
} else {
this.saldo = this.saldo + valor;
return true;
}

}[/code]

No meu programa principal TestaAlgunsMetodos indiquei que alterava o nome do dono e do saldo e depois aplicava os métodos saca e deposita conforme o código:

[code]
class TestaAlgunsMetodos {
public static void main(String[] args) {

Conta minhaConta;
minhaConta = new Conta();

// alterando os valores da minhaConta
minhaConta.dono = "Duke";
minhaConta.saldo = 2000;

// retirar 200 Euros
minhaConta.saca = 200;

// depositar 500 Euros
minhaConta.deposita(500);

System.out.println(minhaConta.saldo);

}
}[/code]

Esperava o retorno do novo saldo mas em vez disso recebo os erros ainda durante a compilação da classe Conta.

conta.java:20: ‘;’ expected
boolean deposita(double valor) {
^
conta.java:20: ‘;’ expected
boolean deposita(double valor) {
^
conta.java:28: reached end of file while parsing
}
^
3 errors

=======

Depois de várias tentativas de compreensão do erro e não conseguindo recorri ao forum.

Obrigado antecipadamente pela ajuda…

Abraço

Cara…

1º - Você já teve alguma aula de Java ou leu algum Livro/Apostila sobre o assunto ?? Pois você está chamando o método de forma errada. O método saca não pode ter essa sintaxe. Dá uma pesquisada em seu material ou na WEB como é que se chama métodos em Java.

2º - Esse seu método só faz a verificação do saldo e retorna um booleano, ele não saca e nem deposita propriamente dito na sua conta, logo ponha o nome de verificaSaldo e reduza esse cara pra um método só, futuramente quando for fazer os métodos e saque e depósito mesmo, basta chamá-lo pra verificar seu saldo.

3º - Dê uma estudada sobre modificadores de acesso que eu não ví nenhum em suas classes, só no main(), isso vai te ajudar mais tarde.

Pra começar é isso…

Abraços []

[EDIT] - Foi mal… ignore meu item 2, não tinha visto que você fazia de fato o saque e o depósito… Os outros 2 itens continuam valendo…

[quote=adriano_si]Cara…

1º - Você já teve alguma aula de Java ou leu algum Livro/Apostila sobre o assunto ?? Pois você está chamando o método de forma errada. O método saca não pode ter essa sintaxe. Dá uma pesquisada em seu material ou na WEB como é que se chama métodos em Java.

2º - Esse seu método só faz a verificação do saldo e retorna um booleano, ele não saca e nem deposita propriamente dito na sua conta, logo ponha o nome de verificaSaldo e reduza esse cara pra um método só, futuramente quando for fazer os métodos e saque e depósito mesmo, basta chamá-lo pra verificar seu saldo.

3º - Dê uma estudada sobre modificadores de acesso que eu não ví nenhum em suas classes, só no main(), isso vai te ajudar mais tarde.

Pra começar é isso…

Abraços [][/quote]

Boa tarde,
Obrigado pela ajuda,

  1. Na realidade não tive nenhuma aula e estou começando o meu estudo pela apostila do CAELUM (fj-11). Também de acordo com o seu conselho há uns tempos atrás estou acompanhando com o livro(emprestado) Use a cabeça! Java, ou seja, sempre que para mim a apostila fica um pouco vaga, vou ao Use a Cabeça onde o diálogo é mais fácil em termos de conceitos.

  2. Quanto ao método saca, realmente me parece ser esta a sintaxe. Me desculpe se estou falando de coisas distintas, mas o meu aprendizado até agora não me permite ir mais longe no diálogo . Lá chegará o tempo…

De qualquer forma, obrigado pelas dicas (mais uma vez)

=============
Gostava de aproveitar a ocasião para lhe questionar uma situação:

Voltando ao tema do livro, em que sítio posso tentar comprar o livro mesmo. Usado como Novo, Novo… Em Portugal, onde vivo, não consigo encontrar o mesmo e na editora AltaBooks no Brasil está indisponível.
Alguma ideia??

Obrigado por qualquer informação.

=============

Abraços