От автора code.mu: РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
⊗jsOpIhPrM 34 of 60 menu

Приватные методы при наследовании в ООП в 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 воспользоваться приватным методом родителя.

Русский
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить