⊗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
Мы выкарыстоўваем cookie для працы сайта, аналітыкі і персаналізацыі. Апрацоўка дадзеных адбываецца згодна Палітыкай канфідэнцыяльнасці.
прыняць усе наладзіць адхіліць