JavaScript之繼承

編程語言 JavaScript ECMAScript 大聖網絡 2017-03-29

繼承是面向對象中一個比較核心的概念。 其他正統面嚮對象語言都會用兩種方式實現繼承:一個是接口實現,一個是繼承。而 ECMAScript 只支持繼承,不支持接口實現,而實現繼承的方式依靠原型鏈完成。

JavaScript之繼承


JavaScript之繼承

在 JavaScript 裡,被繼承的函數稱為超類型(父類,基類也行,其他語言叫法),繼承的函數稱為子類型(子類,派生類)。繼承也有之前問題,比如字面量重寫原型會中斷關係,使用引用類型的原型,並且子類型還無法給超類型傳遞參數。為了解決引用共享和超類型無法傳參的問題,我們採用一種叫借用構造函數的技術, 或者成為對象冒充(偽造對象、經典繼承)的技術來解決這兩種問題。

JavaScript之繼承

借用構造函數雖然解決了剛才兩種問題,但沒有原型,複用則無從談起。所以,我們需要 原型鏈 + 借用構造函數的模式,這種模式成為 組合繼承。

JavaScript之繼承

相關推薦

推薦中...