Se o sistema fosse feito usando a proposta de campos privados do https://github.com/tc39/proposal-class-fields#private-fields como ficaria a classe funcionário ?
algo semelhante a isso ?
//Class abstrata export class Funcionario{
#cpf
#nome
#salario
#bonificacao
#senha;
constructor(cpf,nome, salario, bonificacao){
this.#cpf = cpf;
this.#nome = nome;
this.#salario = salario
this.#bonificacao = bonificacao;
}
get cpf(){ return this.#cpf}
set cpf(cpf){ this.#cpf = cpf}
get nome(){ return this.#nome}
set nome(nome){ this.#nome = nome}
get salario(){ return this.#salario}
set salario(salario){ this.#salario = salario}
get bonificacao(){ return this.#bonificacao}
set bonificacao(bonificacao){ this.#bonificacao = bonificacao}
get senha(){ return this.#senha}
set senha(senha){ this.#senha = senha}
cadastrarSenha(senha){
this.senha = senha;
}
}
e como ficariam as classes diretor e gerente ?