⊗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ščinaShqipSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Користимо колачиће за рад сајта, аналитику и персонализацију. Обрада података се врши у складу са Политиком приватности.
прихвати све подеси одбиј