Warisan Kelas JavaScript

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 extendskata 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, Studentkelas mewarisi semua kaedah dan sifat Personkelas. Oleh itu, Studentkelas sekarang akan mempunyai nameharta dan greet()kaedahnya.

Kemudian, kami mengakses greet()kaedah Studentkelas dengan membuat student1objek.

Kata kunci super () JavaScript

Kata superkunci 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 superdalam Studentmerujuk kepada Personkelas. Oleh itu, apabila pembina Studentkelas dipanggil, ia juga memanggil konstruktor Personkelas 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, occupationharta dan greet()kaedah terdapat di Personkelas induk dan Studentkelas anak . Oleh itu, Studentkelas mengatasi occupationharta 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.

Artikel menarik...