⊗tsSpOpAMPrt 11 of 37 menu

Modifikator protected v TypeScript

Zasebne lastnosti in metode niso podedovane s strani potomcev. Včasih pa potrebujemo, da lastnost ali metoda ni dostopna od zunaj, vendar je podedovana s strani potomcev. V tem primeru je treba uporabiti modifikator protected.

Poskusimo v praksi. V našem razredu User deklarirajmo metodo cape kot zaščiteno z uporabo modifikatorja protected:

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

Naredimo razred Student, ki podeduje od razreda User:

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

Dodajmo metodo, ki izpiše ime:

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

In zdaj uporabimo zaščiteno metodo starša znotraj metode potomca:

class Student extends User { private name: string; constructor(name: string) { super(); this.name = name; } public showName(): string { return this.cape(this.name); // uporabimo metodo starša } }

Ustvarimo objekt našega razreda:

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

Uporabimo metodo za izpis študenta:

console.log(student.showName());

Poskus klica metode cape zunaj razreda pa bo povzročil napako:

console.log(student.cape('test')); // napaka

Podan je naslednji razred:

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

Podedujte od tega razreda razred Employee, ki bo dodal zaščiteno lastnost salary, ter getterje vseh lastnosti, tako lastnih kot podedovanih.

Slovenščina
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Za delovanje spletnega mesta, analitiko in personalizacijo uporabljamo piškotke. Obdelava podatkov poteka v skladu s Politiko zasebnosti.
sprejmi vse nastavi zavrni