# Приватные свойства при наследовании в ООП в JavaScript

Приватные свойства не наследуются. Но потомок может манипулировать ими через публичные методы родителя. Давайте посмотрим на практике. Пусть у нас есть следующий класс-родитель с приватным свойством и его геттером и сеттом:

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

Пусть от родителя наследует следующий потомок:

`class Student extends User { }`

Создадим объект потомка:

`let student = new Student;`

Воспользуемся методом родителя, чтобы записать его приватное свойство:

`student.setName('john');`

Воспользуемся методом родителя, чтобы прочитать его приватное свойство:

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

Дан следующий класс-родитель:

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

Сделайте класс `Employee`, который будет наследовать от этого родителя.

Создайте объект класса `Employee` и вызовите унаследованные сеттеры и геттеры.

В классе `Employee` сделайте следующий метод:

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

Убедитесь, что код метода приведет к ошибке.

←→
↑