我們知道繼承是oo語言中不可缺少的一部分,對于JavaScript也是如此。一般的繼承有兩種方式:其一,接口繼承,只繼承方法的簽名;其二,實現(xiàn)繼承,繼承實際的方法。JavaScript不支持簽名,因此只有實現(xiàn)繼承。其中實現(xiàn)繼承主要是依賴于原型鏈的。下面我將以原型鏈為重點說說繼承的幾種主要的方式:
- 原型鏈繼承
- 借用構(gòu)造函數(shù)繼承
- 組合繼承(重點)
第一部分:原型鏈繼承
A
要說原型鏈繼承,不得不首先介紹一下原型鏈的概念。
想象一下,如果使原型對象等于另一個對象的實例,則此時原型對象將包含一個指向另一個原型的指針。相應(yīng)地,另一個原型也將包含指向另一個構(gòu)造函數(shù)的指針。假設(shè)另一個原型又是另一個類型的實例,那么上述關(guān)系依然成立,如此層層遞進,就構(gòu)成了實例與原型的鏈條(注意:這里的實例和原型都是相對的),這便是原型鏈的基本概念。
1
延伸閱讀
我想了解如何學(xué)習(xí) |