1 回答

TA貢獻(xiàn)1851條經(jīng)驗(yàn) 獲得超3個贊
1、原型鏈繼承核心: 將父類的實(shí)例作為子類的原型缺點(diǎn): 父類新增原型方法/原型屬性,子類都能訪問到,父類一變其它的都變了2、構(gòu)造繼承核心:使用父類的構(gòu)造函數(shù)來增強(qiáng)子類實(shí)例,等于是復(fù)制父類的實(shí)例屬性給子類(沒用到原型)缺點(diǎn): 方法都在構(gòu)造函數(shù)中定義, 只能繼承父類的實(shí)例屬性和方法,不能繼承原型屬性/方法,無法實(shí)現(xiàn)函數(shù)復(fù)用,每個子類都有父類實(shí)例函數(shù)的副本,影響性能3、組合繼承組合繼承(所有的實(shí)例都能擁有自己的屬性,并且可以使用相同的方法,組合繼承避免了原型鏈和借用構(gòu)造函數(shù)的缺陷,結(jié)合了兩個的優(yōu)點(diǎn),是最常用的繼承方式)核心:通過調(diào)用父類構(gòu)造,繼承父類的屬性并保留傳參的優(yōu)點(diǎn),然后再通過將父類實(shí)例作為子類原型,實(shí)現(xiàn)函數(shù)復(fù)用缺點(diǎn):調(diào)用了兩次父類構(gòu)造函數(shù),生成了兩份實(shí)例(子類實(shí)例將子類原型上的那份屏蔽了)4、寄生組合繼承核心:通過寄生方式,砍掉父類的實(shí)例屬性,這樣,在調(diào)用兩次父類的構(gòu)造的時候,就不會初始化兩次實(shí)例方法/屬性,避免的組合繼承的缺點(diǎn)缺點(diǎn):堪稱完美,但實(shí)現(xiàn)較為復(fù)雜
添加回答
舉報