⊗jsOpIhPrP 35 of 60 menu

Propriedades privadas na herança em POO em JavaScript

Propriedades privadas não são herdadas. Mas o descendente pode manipulá-las através de métodos públicos do pai. Vamos ver na prática. Suponha que temos a seguinte classe-pai com uma propriedade privada e seu getter e setter:

class User { #name; setName(name) { this.#name = name; } getName() { return this.#name; } }

Suponha que a seguinte classe descendente herda do pai:

class Student extends User { }

Vamos criar um objeto descendente:

let student = new Student;

Vamos usar o método do pai para definir sua propriedade privada:

student.setName('john');

Vamos usar o método do pai para ler sua propriedade privada:

let name = student.getName(); console.log(name);

É dada a seguinte classe-pai:

class User { #name; #surn; setName(name) { this.#name = name; } getName() { return this.#name; } setSurn(surn) { this.#surn = surn; } getSurn() { return this.#surn; } }

Faça a classe Employee, que herdará deste pai.

Crie um objeto da classe Employee e chame os setters e getters herdados.

Na classe Employee, faça o seguinte método:

getFull() { return this.#name + ' ' + this.#surn; }

Certifique-se de que o código do método levará a um erro.

bydeenesfrptru