⊗tsSpOpAMPrt 11 of 37 menu

A protected módosító TypeScript-ben

A privát tulajdonságok és metódusok nem öröklődnek az utódok által. Néha azonban szükségünk van arra, hogy egy tulajdonság vagy metódus ne legyen kívülről elérhető, de az utódok örököljék. Ebben az esetben a protected módosítót kell használni.

Próbáljuk ki gyakorlatban. Deklaráljunk a User osztályunkban egy cape metódust védettként a protected módosítóval:

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

Készítsünk egy Student osztályt, amely örököl a User osztálytól:

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

Adjunk hozzá egy metódust, amely kiírja a nevet:

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

És most használjuk a szülő védett metódusát az utód metódusán belül:

class Student extends User { private name: string; constructor(name: string) { super(); this.name = name; } public showName(): string { return this.cape(this.name); // a szülő metódusát használjuk } }

Hozzunk létre egy objektumot az osztályunkból:

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

Használjuk a metódust a diák kiíratásához:

console.log(student.showName());

Azonban a cape metódus kívülről történő meghívása hibához vezet:

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

Adott a következő osztály:

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

Örököljön ebből az osztályból egy Employee osztályt, amely hozzáad egy védett salary tulajdonságot, valamint gettereket az összes tulajdonsághoz, mind a saját, mind az örökölt tulajdonságokhoz.

Magyar
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
A weboldal működéséhez, elemzéshez és személyre szabáshoz sütiket használunk. Az adatfeldolgozás a Adatvédelmi irányelvek szerint történik.
összes elfogadása beállítás elutasítás