第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

關(guān)于組合繼承方式的理解問(wèn)題

關(guān)于組合繼承方式的理解問(wèn)題

肥皂起泡泡 2019-04-27 17:18:58
代碼摘自于高程3面向?qū)ο笠徽?。由于本人嘴笨,將?wèn)題寫(xiě)在了以下代碼中。自己愚笨,還望知點(diǎn)解答,謝謝!functionSuperType(name){this.name=name;this.colors=['red','blue','green']}SuperType.prototype.sayName=function(){alert(this.name)}//----以上是構(gòu)造行數(shù)functionSubType(name,age){SuperType.call(this,name)//這里利用了借用構(gòu)造函數(shù)將SuperType的屬性繼承過(guò)來(lái)(借用構(gòu)造函數(shù)只能獲得構(gòu)造函數(shù)屬性,無(wú)法獲得構(gòu)造函數(shù)方法)this.age=age//只屬于SubType的屬性}//----以上普通函數(shù)SubType,其中借用了構(gòu)造函數(shù)SuperType的屬性(this.name、this.colors)SubType.prototype=newSuperType()//----SubType的原型通過(guò)原型鏈繼承自構(gòu)造函數(shù)SuperType(SuperType.prototype,也就是sayName方法)SubType.prototype.constructor=SubType//----由于重寫(xiě)了SubType的原型,所以需要重新定義constructor=SubTypeSubType.prototype.sayAge=function(){alert(this.age)}//----問(wèn)題1在這里://----由于SubType.prototype是實(shí)例化構(gòu)造函SuperType(原型鏈繼承了構(gòu)造函數(shù)SuperType的方法sayName)//----那么為SubType的原型追加了sayAge方法,是否SuperType.prototype也會(huì)相應(yīng)增加sayAge方法?如果是的話下方代碼instance2.colors中為何沒(méi)有blackvarinstance1=newSubType('Nicholas',29)//----問(wèn)題2在這里://----由于SubType.prototype=newSuperType(),SubType.prototype會(huì)修改構(gòu)造函數(shù)的原型//----這里instance1是SubType的實(shí)例,那么instance1是否也會(huì)隨原型鏈,指向SuperType()的原型?instance1.colors.push('black')alert(instance1.colors)//red,blue,green,blackinstance1.sayName()//'Nicholas'instance1.sayAge()//29varinstance2=newSubType('Greg',27)alert(instance2.colors)//red,blue,greeninstance2.sayName()//'Greg'instance2.sayAge()//27綜上所述,感覺(jué)根源還是自己并沒(méi)有太理解這種組合方式,是如何同時(shí)兼顧原型方法共享又同時(shí)存在自身屬性
查看完整描述

2 回答

  • 2 回答
  • 0 關(guān)注
  • 270 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)