⊗tsSpOpAMPrt 11 of 37 menu

TypeScript-də protected modifikatoru

Private xüsusiyyətlər və metodlar varislər tərəfindən miras alınmır. Bəzən, lakin, bizə elə bir xüsusiyyət və ya metod lazım olur ki, xaricdən əlçatan olmasın, amma varislər tərəfindən miras alınsın. Bu halda protected modifikatorundan istifadə etmək lazımdır.

Gəlin praktikada sınayaq. User sinifimizdə cape metodunu protected modifikatoru ilə qorunan kimi elan edək:

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

Gəlin User sinfindən miras alan Student sinfini yaradaq:

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

Adı çıxaran metodu əlavə edək:

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

İndi isə valideyn sinfinin qorunan metodundan varis sinfin metodu daxilində istifadə edək:

class Student extends User { private name: string; constructor(name: string) { super(); this.name = name; } public showName(): string { return this.cape(this.name); // valideynin metodundan istifadə edirik } }

Sinifimizin obyektini yaradaq:

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

Tələbəni çıxarmaq üçün metoddan istifadə edək:

console.log(student.showName());

cape metodunu sinif xaricindən çağırmaq cəhdi isə səhvə səbəb olacaq:

console.log(student.cape('test')); // səhv

Aşağıdakı sinif verilmişdir:

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

Bu sinifdən Employee sinfini miras alın, hansı ki, qorunan salary xüsusiyyətini əlavə edəcək, həmçinin həm özünün, həm də miras alınan bütün xüsusiyyətlərin getterlərini.

Azərbaycan
AfrikaansБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Biz saytin işi, analitika və fərdiləşdirmə üçün cookie istifadə edirik. Məlumatların emalı Məxfilik Siyasəti əsasında həyata keçirilir.
hamısını qəbul et konfiqurasiya et rədd et