繼承
通過「某一種方式」讓乙個物件,可以訪問並使用到另乙個物件中的內容
這種行為我們叫做繼承
繼承的方式
建構函式繼承(類式繼承)
直接給原型賦值乙個物件,可以簡化批量賦值。 但,等於重構了原型
重構原型時,需要手動建立constructor: 建構函式。 否則原型的指向鏈條會斷
// 建構函式
function
animal
(name,***)
}// 原型
作用和call 一致, 都借用物件
function
person
(name,age,***,hobby)
原型鏈繼承
將父類的例項化物件賦值 給子類的原型
//父類
function
parent
(name,age)
parent.prototype.
love
=function()
let par =
newparent
("丁de爸爸"
,"50");
//子類
function
son(name,***,age)
son.prototype =
newparent()
;
組合繼承
建構函式繼承(類式繼承),無法獲取父類的原型鏈
原型鏈繼承,無法直接給父類傳參
組合繼承 = 類式繼承 + 原型鏈繼承
結合了兩種繼承的優點,互相彌補了各自的缺點
// 父類
function
top(x,y)
top.prototype.s=
function()
`)}let aa =
newtop(1
,2)// 子類
function
middle
(x,y,z)
middle.prototype =
newtop()
;//指定原型
let a =
newmiddle(3
,4,2
) console.
log(a.x)
a.s(
)
物件導向。物件的繼承
1.原型繼承 將父類的例項賦值給子類的原型 這就是原型繼承 將父類的私有和公有都繼承在子類的原型上,成為子類的公有屬性。2.call繼承 將父類私有的繼承為子類私有的 3.冒充物件繼承 將父類私有的和公有的都繼承為子類私有的 4.混合繼承 私有的繼承為私有的,公有的和私有的再次繼承為公有的 混合繼承...
物件導向繼承
using system class class1 class virtualclass class hiddenclass virtualclass class overrideclass virtualclass 結果為 父類 繼承類using system class class1 class...
物件導向 繼承
在原有物件的基礎上,略作修改,得到乙個新的物件,不影響原有物件的功能。即子類不影響父類,子類可以繼承父類的一些功能 復用 function createperson name,createperson.prototype.showname function var p1 new createpers...