⊗tsSpOpAMPrt 11 of 37 menu

Modificatore protected in TypeScript

Le proprietà e i metodi privati non vengono ereditati dalle classi figlie. A volte, tuttavia, abbiamo bisogno che una proprietà o un metodo non siano accessibili dall'esterno, ma siano ereditati dalle classi figlie. In questo caso dovrebbe essere utilizzato il modificatore protected.

Proviamo nella pratica. Dichiariamo nella nostra classe User un metodo cape come protetto usando il modificatore protected:

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

Creiamo una classe Student, che eredita dalla classe User:

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

Aggiungiamo un metodo che visualizzi il nome:

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

E ora utilizziamo il metodo protetto del genitore all'interno di un metodo della classe figlia:

class Student extends User { private name: string; constructor(name: string) { super(); this.name = name; } public showName(): string { return this.cape(this.name); // utilizziamo il metodo del genitore } }

Creiamo un oggetto della nostra classe:

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

Utilizziamo il metodo per visualizzare lo studente:

console.log(student.showName());

Mentre un tentativo di chiamare il metodo cape dall'esterno della classe causerà un errore:

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

Data la seguente classe:

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

Eredita da questa classe una classe Employee, che aggiungerà una proprietà protetta salary, così come i getter di tutte le proprietà, sia proprie, che ereditate.

Italiano
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesia日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Utilizziamo i cookie per il funzionamento del sito, l'analisi e la personalizzazione. I dati vengono elaborati in conformità con la Politica sulla privacy.
accetta tutto personalizza rifiuta