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

Приватные методы не наследуются. Это сделано специально, чтобы не нарушать инкапсуляцию. Давайте посмотрим на примере. Пусть у нас есть следующий родительский класс с приватным методом:

`class User { setName(name) { this.name = name; } getName() { return this.#capeFirst(this.name); } #capeFirst(str) { return str[0].toUpperCase() + str.slice(1); } }`

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

`class Student extends User { setSurn(surn) { this.surn = surn; } getSurn() { return this.surn; } }`

Пусть потомок хочет воспользоваться приватным методом родителя. JavaScript это не разрешит и выдаст ошибку:

`class Student extends User { setSurn(surn) { this.surn = surn; } getSurn() { return this.#capeFirst(this.surn); // будет ошибка } }`

Попробуйте в классе `Employee` воспользоваться приватным методом родителя.

← →
↑