Duvida sobre associação entre classes

a

1 curtida

Porque a classe Dinheiro possui um método getDinheiro()?
Instâncias dela já são o dinheiro em si.
Esse método poderia se chamar getValor().

Dinheiro não é um tipo primitivo numérico, então não dá pra você usar o operador +=.

Você tem que criar um novo objeto Dinheiro cujo valor é a soma do valor do saldo e o valor do dinheiro recebido por parâmetro.

public void deposita(Dinheiro dinheiro) {
    saldo = new Dinheiro(saldo.getDinheiro() + dinheiro.getDinheiro()):
}

public class Dinheiro {

private double dinheiro;

public Dinheiro(double dinheiro) {
this.dinheiro = dinheiro;
}

public double getDinheiro() {
return dinheiro;
}

public void setDinheiro(double dinheiro) {
this.dinheiro = dinheiro;
}

public double converteParaDolar() {
return dinheiro / (3.20);
}

public double converteParaEuro() {
return dinheiro / (4.10);
}

public void exibeDados() {
System.out.println(this.dinheiro);
System.out.println(converteParaDolar());
System.out.println(converteParaEuro());
}

public void deposita(double valor) {
dinheiro+= valor;

}

}Texto pré-formatado
identar texto pré-formatado por 4 espaços

public class Teste
{
public static void main(String[] args)
{
Dinheiro dinheiro = new Dinheiro(200);
Banco banco = new Banco(dinheiro);

    System.out.println(""+banco.toString());
    dinheiro.deposita(200);
    System.out.println(""+dinheiro.getDinheiro());
}

}

Outra solução seria criar o metódo deposita() na class Dinheiro, depois chamarias sempre que precisares depositar!!