1
resposta

Dúvida : Métodos privados nas classes filhas

Na aula de "privado e protegido" o instrutor fala que as classes filhas conseguem usar os atributos privados e protegidos da classe mãe normalmente, pois são uma extensão de outra classe[...] . Enfim , usando o _ underline como prefixo funciona... mas quando tento usar o # modificador privado não funciona, apenas na própria classe. Tem algum jeito de funcionar? o que eu estou fazendo de errado ?.

Classe Conta. (apenas a parte do método, o resto está tudo ok).

    #saque(valor, taxa){
        const valorSacado = valor * taxa ;
        if (this._saldo >= valorSacado) {
            console.log("Transação aprovada!!");
            this._saldo -= valorSacado;
            console.log(`Novo Saldo : ${this._saldo} `);
            return valor;
        } else {
            console.log("Transação Recusada: Saldo insuficiente.");
            return 0 ;
        }
    }

Classe ContaCorrente

import { Conta } from "./Conta.js";

export class ContaCorrente extends Conta {
    static numeroDeContas = 0;

    constructor(cliente , agencia){
        super(cliente, agencia, 0 );
        ContaCorrente.numeroDeContas += 1;
    }
    sacar(valor){
        const taxa = 1.1 ; 
        super.#saque(valor,taxa);
    }
}
1 resposta

Oi Vitor,

Durante o desenvolvimento não lembro de ter utilizado o caractere # para definição de métodos. Tens certeza que é possível?