1. 程式人生 > 其它 >JavaScript類的繼承

JavaScript類的繼承


<!
DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> </head> <body> <
script> class Person{ constructor(name,age){ this.age = age; this.name = name; } eat(){ document.write("吃飯..."); } } class Worker extends Person{ constructor(name,age,salary){ super(name,age);
this.salary = salary; } show(){ document.write(this.name+","+this.age+","+this.salary+"<br>"); } } let w = new Worker("張三",23,10000); w.show(); w.eat(); </script> </body> </html>

輸出結果

 

 

JavaScript 類繼承

JavaScript 類繼承使用 extends 關鍵字。

繼承允許我們依據另一個類來定義一個類,這使得建立和維護一個應用程式變得更容易。

super() 方法用於呼叫父類的建構函式。

當建立一個類時,您不需要重新編寫新的資料成員和成員函式,只需指定新建的類繼承了一個已有的類的成員即可。這個已有的類稱為基類(父類),新建的類稱為派生類(子類)

繼承代表了 is a 關係。例如,哺乳動物是動物,狗是哺乳動物,因此,狗是動物,等等。

程式碼如下:

// 基類 class Animal { // eat() 函式 // sleep() 函式 }; //派生類 class Dog extends Animal { // bark() 函式 };

以下例項建立的類 "Runoob" 繼承了 "Site" 類:

例項

class Site { constructor(name) { this.sitename = name; } present() { return '我喜歡' + this.sitename; } } class Runoob extends Site { constructor(name, age) { super(name); this.age = age; } show() { return this.present() + ', 它建立了 ' + this.age + ' 年。'; } } let noob = new Runoob("菜鳥教程", 5); document.getElementById("demo").innerHTML = noob.show();