⊗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šuMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ние користиме колачиња за работата на веб-страната, анализа и персонализација. Обработката на податоци се врши во согласност со Политиката за приватност.
прифати ги сите прилагоди одбиј