js 物件導向 繼承

2021-10-19 08:00:08 字數 953 閱讀 1369

繼承:

將方法的定義放在建構函式中,每建立乙個新物件,都會重複建立該方法一模一樣的副本,浪費記憶體。

解決:如果多個子物件都要使用乙個相同的方法時,應該把這個方法放在一種原型物件中,建構函式中不再包含方法定義。

原型物件:

乙個型別中,專門為所有子物件集中儲存共有方法的物件。同一型別下多個子物件需要用乙個共用的方法時,都應該將這個方法放在原型物件中。

1.原型物件不同於手工建立,定義了乙個建構函式,js會自動贈送乙個空的原型物件。

2.不用手工設定繼承,

new的第二步:讓新建立的子物件自動繼承建構函式的原型物件。

3.凡是從_ proto

指出的關係都不是一般的引用關係,都是繼承關係。

繼承:如果子物件沒有的成員,子物件也想使用,則js程式會自動延

proto _去父物件查詢,如父物件中有需要的成員,則子物件無需重複建立,就可直接使用。

4.通過強行賦值的方式,向原型物件中新增所有子物件都希望共用的共有方法。

型別名.prototype.

共有方法

=function()

function

student

(sname,sage)

student.prototype.

intr

=function()

,今年$`)

;}var lilei=

newstudent

("lilei",11

);var hmm=

newstudent

("hmm",12

);lilei.

intr()

; hmm.

intr()

; console.

log(lilei)

; console.

log(hmm)

;

JS物件導向 繼承

參考博文 一 物件導向的繼承 1 解析 在原有物件的基礎上,略作修改,得到乙個新的物件,並且不影響原有物件的功能 2 如何新增繼承 拷貝繼承 屬性 call 方法 for in 繼承 子類不影響父類,子類可以繼承父類的一些功能 復用 屬性的繼承 呼叫父類的構造1函式 call 方法的繼承 for i...

JS 物件導向 繼承

實現繼承是 ecmascript 唯一支援的繼承方式,而這主要是通過原型鏈實現的建構函式 原型和例項的關係 每個建構函式都有乙個原型物件,原型有乙個屬性 constructor 指回建構函式,而例項有乙個內部指標 prototype 指向原型。建構函式 function father console...

js物件導向 繼承

原型模式與建構函式組合 function person name,age,job person.prototype sayjob function 定義singer類,並指定job為singer function singer name,age,song 每次呼叫singer建構函式都會把singe...