js的三種繼承

2021-10-09 18:32:53 字數 1391 閱讀 8415

–原型鏈繼承

原型鏈繼承:子建構函式的原型指向父建構函式的的例項

核心實現**:dog.prototype=new animal()

雙向指向:dog.prototype.constructor=dog

–建構函式繼承(經典繼承)

子建構函式內寫(改變函式內部this指向即可)

核心實現**:animal.call(this,引數)

>

//父建構函式

function

animal

(type,age,weight,length)

animal.prototype =};

//子建構函式

function

dog(type,age,weight,length,name,color)

//dog的原型物件

//原型鏈繼承

dog.prototype =

newanimal()

;dog.prototype.constructor = dog;

dog.prototype.

saycolor

=function()

var dog =

newdog

('狗',1

,'10kg'

,'40cm'

,'可樂'

,'白色');

console.

log(dog)

;dog.

saycolor()

;dog.

saytype()

;dog.

sayname()

;script

>

組合繼承(經典繼承+原型鏈繼承)

原理:使用原型鏈實現對原型屬性和方法的繼承,而借用建構函式實現對例項屬性的繼承

>

function

animal

(name)

animal.prototype.

sayname

=function()

function

dog(name)

//原型鏈繼承,繼承了方法

dog.prototype =

newanimal()

; dog.prototype.constructor = animal;

script

>

js實現繼承的三種方式

1.借用建構函式 父類 function parent 子類 function child name parent.protorype.show function 給父類的原型物件上加乙個show方法,此時子類例項化出來的物件就訪問不到該方法 例項化 var s1 newchild zhangsan...

原生js實現繼承的三種方式

function parent name,age function child name,age,gender const ming newchild ming 18 男 console.log ming 2 原型鏈繼承 優點 實現了原型物件內的函式復用.缺點 雖然得到了屬性值,但無法在例項物件內靈...

C 三種繼承

1 公有 私有 受保護繼承 class b public a class b public a class b protected a 繼承方式 成員型別 public protected private public public protected 無法繼承 protected protecte...