⊗tsSpOpAMPrt 11 of 37 menu

Modyfikator protected w TypeScript

Prywatne właściwości i metody nie są dziedziczone przez klasy potomne. Czasami jednak potrzebujemy, aby właściwość lub metoda nie były dostępne z zewnątrz, ale były dziedziczone przez potomków. W tym przypadku należy użyć modyfikatora protected.

Wypróbujmy to w praktyce. Zadeklarujmy w naszej klasie User metodę cape jako chronioną za pomocą modyfikatora protected:

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

Stwórzmy klasę Student, dziedziczącą po klasie User:

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

Dodajmy metodę wyświetlającą imię:

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

A teraz użyjmy chronionej metody rodzica wewnątrz metody potomka:

class Student extends User { private name: string; constructor(name: string) { super(); this.name = name; } public showName(): string { return this.cape(this.name); // używamy metody rodzica } }

Stwórzmy obiekt naszej klasy:

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

Skorzystajmy z metody, aby wyświetlić studenta:

console.log(student.showName());

Natomiast próba wywołania metody cape na zewnątrz klasy spowoduje błąd:

console.log(student.cape('test')); // błąd

Dana jest następująca klasa:

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

Odziedzicz po tej klasie klasę Employee, która doda chronioną właściwość salary, a także gettery wszystkich właściwości, zarówno swoich, jak i odziedziczonych.

Polski
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wykorzystujemy pliki cookie do działania strony, analizy i personalizacji. Przetwarzanie danych odbywa się zgodnie z Polityką prywatności.
zaakceptuj wszystkie dostosuj odrzuć