通過 extends 和 super 來實現繼承效果
子類通過 extends 關鍵字來繼承 父類所有的屬性和方法
子類必須在 constructor 中呼叫 super 方法,否則新建例項會報錯
class
person
// 類似 物件原型中的方法
speak()
}let person =
newperson
("父類"
);
class
sonextends
person
// 父類中也有 speak方法
// 這裡 存在優先順序問題
// speak()
say(
),愛好$`
)}}let son =
newson
("alice",24
) son.
say();
// 子類中的speak方法注釋起來後,仍然可以呼叫
// 將子類的 speak方法 解開後
// 會發現呼叫的結果變為了 i can speak japanese!
son.
speak()
;
靜態寫法 :
有 static關鍵字,表明該方法是乙個靜態方法
需要通過類名來呼叫,而不是在例項 ( this )上呼叫
如果使用this呼叫,或者在該方法中使用this。均會出現異常
靜態方法可以和非靜態方法重名 ( 不推薦這樣 )
父類的靜態方法,可以被子類繼承
class
person
static
sum(
)newstr()
`// 通過this 拿到上面 sum() 的結果
console.
log(
`我是很大的那個$和
$`);
}}// static 方法靜態 this 是不允許存在的,只能用 類名 person 呼叫
console.
log(person.
sum())
; console.
log(person.admin)
;let person =
newperson(20
,50);
person.
newstr()
;
es6 類的繼承
function animal name animal.prototype.drink function animal.prototype.eat function item function dog name,breed animal.prototype dog.prototype animal....
ES6 類的繼承
類的繼承 super 關鍵字 子類通過 extends 關鍵字來繼承父類的所有屬性和方法 子類必須在constructor中呼叫super方法,否則新建例項會報錯 es5的繼承中,實質是先創造子類的例項物件this,然後再將父類的方法 屬性新增到this上面。es6的繼承中,實質是先創造父類的例項物...
ES6類的繼承
es6 引入了關鍵字class來定義乙個類,constructor是構造方法,this代表例項物件。constructor相當於python的init而this則相當於self 類之間通過extends繼承,繼承父類的所有屬性和方法。super關鍵字,它代指父類的this物件,子類必須在constr...