3
respostas

Utilização de um atributo privado para definir a taxa do saque

Olá, gostaria de saber se é uma má pratica utilizar um atributo privado para definir a taxa que é utilizada no método sacar, afim de evitar a repetição de código. Por exemplo:

Conta.js:

...
constructor(saldoInicial, cliente, agencia) {
        this._saldo = saldoInicial;
        this._cliente = cliente;
        this._agencia = agencia;

        this._taxa = 1;
}

...

sacar(valor) {
        return this._sacar(valor, this._taxa);
}

ContaCorrente.js:

...
constructor(cliente, agencia) {
        super(0,cliente, agencia);
        ContaCorrente.numeroDeContas += 1;

        this._taxa = 1.1;
}
...

Testando essa solução tudo funcionou, sem a necessidade de sobrescrever o método sacar() na classe ContaCorrente.

Obrigado

3 respostas

Oi, Bruno, tudo bem?

O atributo taxa não faz parte de toda a classe Conta, certo? A classe abstrai um conjunto objetos com as mesmas características. Quem é a classe conta? É o cliente, com seu saldo inicial e a sua agência. O atributo taxa não faz parte desse desse conjunto de características similares de uma conta mas faz parte do método sacar, faz parte da regra de negócio desse método, por isso é interessante mantê-la junto do método a que faz referência.

Se ficou alguma dúvida, é só falar!

Olá, Laís. Estou bem e você?

Entendi. Muito obrigado pela resposta.

Oi, Bruno! Que bom que esclareceu a sua questão!

Bons estudos :}

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