⊗tsSpOpAMPrt 11 of 37 menu

Modifier protected di TypeScript

Properti dan metode privat tidak diwariskan kepada keturunan. Namun, terkadang kita perlu agar properti atau metode tidak dapat diakses dari luar, tapi diwariskan kepada keturunan. Dalam hal ini sebaiknya digunakan modifier protected.

Mari kita coba dalam praktik. Deklarasikan dalam kelas User kita metode cape sebagai terlindungi dengan menggunakan modifier protected:

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

Buat kelas Student, yang mewarisi dari kelas User:

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

Tambahkan metode yang menampilkan nama:

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

Dan sekarang gunakan metode terlindungi induk di dalam metode keturunan:

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

Buat objek dari kelas kita:

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

Gunakan metode untuk menampilkan siswa:

console.log(student.showName());

Namun upaya untuk memanggil metode cape dari luar kelas akan menyebabkan error:

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

Diberikan 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 menambahkan properti terlindungi salary, serta getter untuk semua properti, baik miliknya sendiri, maupun yang diwariskan.

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