Dalam tutorial ini, anda akan belajar mengenai pewarisan kelas JavaScript dengan bantuan contoh.
Warisan Kelas
Warisan membolehkan anda menentukan kelas yang mengambil semua fungsi dari kelas induk dan membolehkan anda menambahkan lebih banyak.
Dengan menggunakan pewarisan kelas, kelas dapat mewarisi semua kaedah dan sifat kelas lain.
Pewarisan adalah ciri berguna yang membolehkan penggunaan semula kod.
Untuk menggunakan warisan kelas, anda menggunakan extends
kata kunci. Sebagai contoh,
// parent class class Person ( constructor(name) ( this.name = name; ) greet() ( console.log(`Hello $(this.name)`); ) ) // inheriting parent class class Student extends Person ( ) let student1 = new Student('Jack'); student1.greet();
Pengeluaran
Helo Jack
Dalam contoh di atas, Student
kelas mewarisi semua kaedah dan sifat Person
kelas. Oleh itu, Student
kelas sekarang akan mempunyai name
harta dan greet()
kaedahnya.
Kemudian, kami mengakses greet()
kaedah Student
kelas dengan membuat student1
objek.
Kata kunci super () JavaScript
Kata super
kunci yang digunakan di dalam kelas kanak-kanak menunjukkan kelas induknya. Sebagai contoh,
// parent class class Person ( constructor(name) ( this.name = name; ) greet() ( console.log(`Hello $(this.name)`); ) ) // inheriting parent class class Student extends Person ( constructor(name) ( console.log("Creating student class"); // call the super class constructor and pass in the name parameter super(name); ) ) let student1 = new Student('Jack'); student1.greet();
Di sini, kelas super
dalam Student
merujuk kepada Person
kelas. Oleh itu, apabila pembina Student
kelas dipanggil, ia juga memanggil konstruktor Person
kelas yang memberikan harta nama kepadanya.
Kaedah atau Harta Yang Melebihi
Sekiranya kelas anak mempunyai kaedah atau nama harta yang sama dengan kelas induk, ia akan menggunakan kaedah dan harta benda kelas anak. Konsep ini disebut kaedah overriding. Sebagai contoh,
// parent class class Person ( constructor(name) ( this.name = name; this.occupation = "unemployed"; ) greet() ( console.log(`Hello $(this.name).`); ) ) // inheriting parent class class Student extends Person ( constructor(name) ( // call the super class constructor and pass in the name parameter super(name); // Overriding an occupation property this.occupation = 'Student'; ) // overriding Person's method greet() ( console.log(`Hello student $(this.name).`); console.log('occupation: ' + this.occupation); ) ) let p = new Student('Jack'); p.greet();
Pengeluaran
Helo pelajar Jack. pekerjaan: Pelajar
Di sini, occupation
harta dan greet()
kaedah terdapat di Person
kelas induk dan Student
kelas anak . Oleh itu, Student
kelas mengatasi occupation
harta dan greet()
kaedah.
Kegunaan Warisan
- Oleh kerana kelas anak dapat mewarisi semua fungsi kelas ibu bapa, ini membolehkan penggunaan semula kod.
- Setelah fungsi dikembangkan, anda boleh mewarisinya. Tidak perlu mencipta semula roda. Ini membolehkan kod lebih bersih dan senang dijaga.
- Oleh kerana anda juga dapat menambahkan fungsi anda sendiri di kelas kanak-kanak, anda hanya dapat mewarisi fungsi yang berguna dan menentukan ciri lain yang diperlukan.