1
resposta

Propriedade privada sendo acessada.

Olá Flavio, estou com uma dúvida referente as propriedades privadas...

No código temos a classe Negociacoes que implementamos o metodo ehIgual() que recebe um parametro da mesma classe...

Porém quando vamos ver os atributos desse parametro recebido, está sendo listado até as propriedades privadas, porém isso só ocorre dentro da classe, se eu for receber esse parâmetro em outra classe, exemplo na View que fizemos, a propriedade não aparece.

Minha dúvida é, porque a propriedade aparece sendo que é privada? Tem haver com o que disse, sobre estar na própria classe e então ela se conhece?

Segue um exemplo:

class Teste {
    private cpf: string = '999999'

    alteraCPFDeParametro(outroTeste: Teste) {
        outroTeste.cpf = '00000'
    }

    pegaCPF(): string {
        return this.cpf
    }
}

const testeUM = new Teste()
const testeDOIS = new Teste()

// Usando TESTE UM estou alterando uma propriedade privada de TESTE DOIS
testeUM.alteraCPFDeParametro(testeDOIS)
console.log(testeDOIS.pegaCPF()) // vai mostrar 00000
1 resposta

Olá Pedro, tudo bem?

Oii, Dev! Tudo bem?

Agradeço por aguardar o nosso retorno.

A propriedade privada é acessível apenas dentro da própria classe, ou seja, não pode ser acessada de fora da classe. No exemplo que você trouxe, a propriedade privada cpf é acessada dentro da própria classe Teste, através do método alteraCPFDeParametro. Nesse caso, a classe Teste tem acesso a todas as propriedades privadas de outra instância da mesma classe.

Porém, se você tentar acessar a propriedade privada cpf de fora da classe Teste, por exemplo, em outra classe, você receberá um erro de compilação.

Espero ter esclarecido sua dúvida! Fico à disposição.

Bons estudos!

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