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

2021-10-24 14:52:38 字數 1550 閱讀 8192

function

parent

(name,age)

function

child

(name,age,gender)

const ming =

newchild

('ming',18

,'男'

) console.

log(ming)

;

2、原型鏈繼承

優點:實現了原型物件內的函式復用.

缺點:雖然得到了屬性值,但無法在例項物件內靈活的傳參,根本不能用.

function

parent

(name,age)

parent.prototype.

sayname

=function()

function

child

(name,age,gender)

child.prototype =

newparent

('gio',19

) child.prototype.constructor = child

const ming =

newchild

('ming',18

,'男'

) ming.

sayname()

; console.

log(ming.name)

; console.

log(ming.age)

; console.

log(ming.gender)

;

3、組合繼承

原理:建構函式繼承與原型鏈繼承的組合使用.

優勢:既實現了原型物件內的函式復用,又可以在例項物件內靈活的傳參.

function

parent

(name,age)

parent.prototype.

sayname

=function()

function

child

(name,age,gender)

child.prototype =

newparent()

child.prototype.constructor = child

// 注意:單獨設定的功能需要在繼承操作後設定。

child.prototype.

saygender

=function()

const ming =

newchild

('ming',18

,'男'

) ming.

sayname()

ming.

saygender()

console.

log(ming.name)

; console.

log(ming.age)

; console.

log(ming.gender)

;

js實現繼承的三種方式

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

三種繼承方式

派生類繼承了基類的全部資料成員和除了建構函式,析構函式之外的全部資料成員,但是這些成員的訪問屬性在派生的過程中是可以調整的。從基類繼承的成員,其訪問屬性由繼承方式控制。類的公有繼承 當繼承方式為公有繼承時,基類的公有成員和保護成員的訪問屬性在派生類中不變,而基類的私有成員不可直接訪問。類的私有繼承 ...

三種繼承方式

三種繼承方式 公有繼承 私有繼承,保護繼承 不同繼承方式的影響主要體現在 公有繼承 標頭檔案部分 ifndef point h define point h class point void move int offx,int offy int getx const int gety const p...