Black November

ATÉ 50% OFF

TÁ ACABANDO!

0 dias

0 horas

0 min

0 seg

3
respostas

[Dúvida] Dúvida sobre opinião do instrutor (Classe Conta Bancária)

Prezados,

No exemplo dado a respeito do desafio de criar a classe conta báncaria, ao fim do código principal, há o seguinte trecho:

conta.setSaldo(1500);
System.out.println("Novo Saldo: " + conta.getSaldo());

Não consegui identificar o porquê ele foi adicionado e qual a funcão dele.
Poderiam me explicar?

Matricule-se agora e aproveite até 50% OFF

O maior desconto do ano para você evoluir com a maior escola de tecnologia

QUERO APROVEITAR
3 respostas

Olá, Maria! Como vai?

No exemplo que você está trabalhando, a linha conta.setSaldo(1500); está utilizando um método setter para alterar o valor do saldo da conta bancária. O método setSaldo é responsável por modificar o valor do atributo privado saldo dentro da classe ContaBancaria.

Já a linha System.out.println("Novo Saldo: " + conta.getSaldo()); está chamando o método getter getSaldo para acessar o valor atual do saldo e exibi-lo no console. Isso é uma prática comum em programação orientada a objetos, onde usamos métodos getters e setters para acessar e modificar atributos privados de uma classe, garantindo o encapsulamento e a segurança dos dados.

Por exemplo, se você tem uma classe ContaBancaria com um atributo privado saldo, você não pode acessar diretamente esse atributo de fora da classe. Em vez disso, você usa o método setSaldo para definir um novo valor e getSaldo para obter o valor atual.

Espero que essa explicação tenha esclarecido o propósito desse trecho de código. Bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.

Obriagada professor,
Na classe conta bancária é gerado tanto o setter como o getter, já na classe principal, esse primeiro trecho está chamando setter e eu não entendi
o porquê não o getter, já que esse comando na parte principal é somente para mostrar o valor para quem estiver usando.
Deu para entender a dúvida?

Oi, Maria!

Obrigado por trazer mais contexto. Do jeito que você explicou, o ponto está na diferença entre mostrar um valor e alterar um valor dentro do objeto.

No trecho:


conta.setSaldo(1500);
System.out.println("Novo Saldo: " + conta.getSaldo());

O problema aqui é que o setter altera o saldo antes de ser exibido.
Ou seja, esse trecho não existe para mostrar o saldo original — ele existe para mudar o valor do saldo para 1500 e, só depois disso, imprimir o novo valor usando o getter.

Se a intenção fosse apenas mostrar o saldo existente, você usaria somente:


System.out.println("Saldo atual: " + conta.getSaldo());

Então, de forma direta:

setSaldo(1500) foi colocado para simular uma alteração no valor interno da conta antes de exibir o resultado. Ele não está ali para demonstrar o getter, mas sim para mostrar o fluxo: altero → depois leio.

Fico à disposição.