Quais as diferenças de implementaçao ao usar o get com atributos privados com # e não privados. O get não é uma forma de deixar privado a propriedade ? Como o get resolveu o problema de henrança de atributos privados ?
Quais as diferenças de implementaçao ao usar o get com atributos privados com # e não privados. O get não é uma forma de deixar privado a propriedade ? Como o get resolveu o problema de henrança de atributos privados ?
Oi Isabela,
O get
em si não deixa a propriedade privada, e sim "une" a propriedade em questão (nome
, por exemplo) a um método (no caso seria get nome() {}
). Quando qualquer outra parte do código de fora da classe tenta acessar a propriedade nome
através da sintaxe obj.nome
o que é executado internamento não é a chamada para a propriedade obj.nome
e sim a chamada para a função getter get nome() {}
.
Lembrando que, embora os getters sejam escritos na forma de função, com parânteses e chaves get nome() {}
, a chamada é feita como se fosse uma propriedade obj.nome
(e não como se fosse uma função obj.nome()
.
Bons estudos ;)