色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

javascript 實現繼承

李中冰1年前6瀏覽0評論

近年來,JavaScript 席卷全球,已成為最流行的編程語言之一。而繼承是面向對象編程中的重要概念,它使得子類能夠繼承父類的屬性和方法,避免了代碼冗余和重復。下面我們將會具體講述 JavaScript 中的繼承實現。

JavaScript 是一種基于原型(prototype)繼承的語言,而不是基于類(class)繼承的語言。在 JavaScript 中,每個對象都有一個原型對象,而每個原型對象也有自己的原型對象。最上層的原型對象是 null,即 Object.prototype 的原型。通過原型鏈(prototype chain),子對象可以繼承父對象的屬性和方法。

function parent() {
this.name = "parent";
}
parent.prototype.showName = function() {
console.log(this.name);
};
function child() {
this.name = "child";
}
child.prototype = new parent();

在上述示例中,我們定義了一個叫做 parent 的父類和一個叫做 child 的子類。在 parent 類中定義屬性 name 和方法 showName,而 child 類繼承自 parent 類。在 child 類的原型中,我們通過 new 操作符實例化一個 parent 對象,并將其作為 child 類的原型。這樣,在創建 child 實例時,它將會繼承 parent 類的屬性和方法。

var obj = new child();
obj.showName(); // 輸出: "child"

在上述代碼中,我們實例化了一個 child 對象,并調用了 showName 方法。由于子類繼承了父類的屬性和方法,因此在調用 showName 方法時,會輸出 "child"。這就是 JavaScript 中的繼承實現。

除了原型繼承外,JavaScript 也支持通過類繼承的方式來實現繼承。在 ES6 之后,類繼承成為了 JavaScript 中的新特性。它使用 class 關鍵字來定義類,并使用 extends 關鍵字來繼承一個類。

class parent {
constructor() {
this.name = "parent";
}
showName() {
console.log(this.name);
}
}
class child extends parent {
constructor() {
super();
this.name = "child";
}
}

在上述示例中,我們使用 class 關鍵字定義了 parent 和 child 兩個類。parent 類的構造函數中定義了屬性 name,同時它還有一個叫做 showName 的方法。在 child 類中,我們使用 extends 關鍵字繼承了 parent 類,并通過 super() 調用了 parent 類的構造函數。這樣,在創建 child 實例時,它將繼承 parent 類的屬性和方法。

let obj = new child();
obj.showName(); // 輸出: "child"

在上述代碼中,我們定義了一個 child 對象,并調用了其 showName 方法。由于子類繼承了父類的屬性和方法,因此在調用 showName 方法時,會輸出 "child"。這就是 JavaScript 中的類繼承實現。

綜上所述,JavaScript 實現繼承有兩種方式,分別是原型繼承和類繼承。原型繼承通過設置對象的原型來實現繼承,而類繼承則是基于 ES6 新特性的實現方式。在實際開發中,開發人員可以根據實際需要選擇不同的實現方式,以提高代碼效率和可讀性。