⊗tsSpOpAMPrt 11 of 37 menu

Модификаторът protected в TypeScript

Частните свойства и методи не се наследяват от потомците. Понякога обаче се налага свойство или метод да не са достъпни отвън, но да бъдат наследени от потомци. В този случай трябва да използваме модификатора protected.

Нека опитаме на практика. Декларирайте в вашия клас User метод cape като защитен с помощта на модификатора protected:

class User { protected cape(str: string) { return str[0].toUpperCase() + str.slice(1); } }

Нека направим клас Student, който наследява от клас User:

class Student extends User { private name: string; constructor(name: string) { super(); this.name = name; } }

Нека добавим метод, който извежда името:

class Student extends User { private name: string; constructor(name: string) { super(); this.name = name; } public showName(): string { return this.name; } }

А сега нека използваме защитения метод на родителя вътре в метода на потомка:

class Student extends User { private name: string; constructor(name: string) { super(); this.name = name; } public showName(): string { return this.cape(this.name); // използваме метода на родителя } }

Нека създадем обект от нашия клас:

let student: Student = new Student('john');

Нека използваме метода за извеждане на студента:

console.log(student.showName());

Но опитът да извикаме метода cape отвън класа ще доведе до грешка:

console.log(student.cape('test')); // грешка

Даден е следният клас:

class User { protected name: string; protected surn: string; constructor(name: string, surn: string) { this.name = name; this.surn = surn; } }

Наследете от този клас клас Employee, който ще добави защитено свойство salary, както и гетъри за всички свойства, както собствени, така и наследени.

Български
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
Ние използваме бисквитки за работата на сайта, анализ и персонализация. Обработката на данни се извършва в съответствие с Политика за поверителност.
приемам всички настройки отхвърляне