Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Diferenças de Sintax

Observando as aulas de Classe e método abstrato, no exemplo que foi dado na classe Conta Corrente e Conta Poupança a variável saldo não estava acessível devido estar com Private, então nico colocou como Protected. Minha dúvida gera em turno dos bons hábitos, em passar o atributo para protected ou simplesmente fazer um método setSaldo e acessar o atributo. Gostaria de saber qual seira a boa pratica nesse exemplo e por que seria uma boa pratica.

segue código abaixo `

public abstract class Conta {

protected double saldo;
private int agencia;
private int numero;
private Cliente titular;
private static int total = 0;

////////////////////////////

public class ContaCorrente extends Conta { @Override

public void deposita(double valor) {
    super.saldo += valor;
}

}

ou

public abstract class Conta {

private double saldo;
private int agencia;
private int numero;
private Cliente titular;
private static int total = 0;

@Override

public void deposita(double valor) {
    super.setSaldo(valor + getSaldo());
}
1 resposta
solução!

Boa tarde, Paulo! Como vai?

De forma geral, a resposta é: depende!

Imagine uma situação onde se deseje que o valor do atributo não seja acessado por outras classes a não ser pelas classes filhas. Nesse caso, se vc cria um getter e um setter públicos, automaticamente vc estará quebrando a restrição inicial! Uma vez que todas as classes terão acesso ao getter e ao setter. Sendo assim, nesse tipo de situação, o ideal é utilizar o protected.

Agora, em casos onde se deseje que os valores dos atributos sejam acessados por quaisquer classes, o ideal é criar os métodos getter e setter.

Por fim, na situação específica da aula, veja que não faz sentido que se exista um método setSaldo(), uma vez que o saldo apenas é modificado por operações de depósito ou saque. Portanto, criar esse método seria algo incoerente! Dessa forma, o ideal nesse caso, seria realmente utilizar o protected, como foi feito durante o curso!

Pegou a ideia? Qualquer coisa é só falar!

Grande abraço e bons estudos, meu aluno!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software