⊗tsSpOpAMPrt 11 of 37 menu

Pengubah protected dalam TypeScript

Sifat dan kaedah peribadi tidak diwarisi oleh keturunan. Kadang-kadang, bagaimanapun, kita perlu agar sifat atau kaedah tidak boleh diakses dari luar, tapi diwarisi oleh keturunan. Dalam kes ini , pengubah protected harus digunakan.

Mari kita cuba dalam amalan. Isytiharkan dalam kelas User kami kaedah cape sebagai dilindungi dengan menggunakan pengubah protected:

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

Mari buat kelas Student, yang mewarisi dari kelas User:

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

Tambahkan kaedah yang memaparkan nama:

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

Dan sekarang gunakan kaedah terlindung induk di dalam kaedah keturunan:

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

Mari buat objek kelas kami:

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

Gunakan kaedah untuk memaparkan pelajar:

console.log(student.showName());

Namun, percubaan untuk memanggil kaedah cape dari luar kelas akan menyebabkan ralat:

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

Diberi kelas berikut:

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

Warisi dari kelas ini kelas Employee, yang akan menambah sifat terlindung salary, serta getter semua sifat, baik sendiri maupun yang diwarisi.

Melayu
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Kami menggunakan kuki untuk operasi laman web, analisis dan personalisasi. Pemprosesan data dijalankan mengikut Polisi Kerahsiaan.
terima semua tataletak tolak