繼承的理解

2021-10-06 21:27:13 字數 1939 閱讀 8119

一,什麼是繼承

是建構函式之間的相關應用

繼承的是屬性和方法

是子集從父級繼承

常見的繼承方法有,原型繼承,建構函式繼承,es6繼承

二,建構函式

es5定義建構函式

// 建構函式

function

father

(name,age)

father.prototype.

fun1

=function()

father.prototype.

fun2()

=function()

es6繼承的方法

function

father

(name,age)

class

sonextends

father

//定義方法f(

)}// 通過建構函式來生成例項化物件

const s=

newson

("張三"

,"18"

,"男"

) s.f(

)//執行例項化物件s中的f函式

// new的三個步驟

// 1,生成乙個例項化物件

// 2,執行例項化物件中的函式

// 3,改變this指向

三,原型屬性和原型物件

1,每個物件都有乙個 __proto__原型屬性

2,每個函式都有乙個 prototype 原型物件

萬物皆物件所以任何資料型別都有proto原型屬性

四,原型鏈

例項化物件中的proto指向建構函式的prototype

一直與上一級形成資料鏈

最後指向js的頂級物件object

五,建構函式和例項化物件

建構函式時專門生成例項化物件的函式	

例項化物件就是通過建構函式生成的物件

六,建構函式定義函式的屬性和方法

七,原型繼承

原型繼承主要繼承方法

繼承時兩個建構函式之間的應用

兩個建構函式通過原型鏈進行串聯

兩個建構函式生成的例項化物件,將兩個建構函式,形成乙個原型繼承

原型繼承

定義父級建構函式,使用父級建構函式,生成例項化物件

定義子級建構函式

子級建構函式.prototype=父級建構函式的例項化物件

原型繼承最主要的是繼承方法

八,借用建構函式繼承(主要是繼承屬性,沒有繼承方法)

建構函式中的this指向的是生成的例項化物件

function

father

(name,age)

father.prototype.fn=

function()

function

son(***)

const s=

newson

("nan"

) console.

log(s)

主要通過.call方法在子級建構函式中呼叫父級建構函式

並且將父級的建構函式this指向改變成當前的子級建構函式

父級建構函式原始的this指向是指向生成的例項化物件

當前要讓father的this指向son這個子級建構函式,也就是子級建構函式生成的例項化物件

九,組合繼承

就是原型繼承的方法和建構函式繼承的屬性結合在一起,繼承父級的方法和屬性

總結所謂的繼承就是為了優化**

繼承是兩個建構函式之間的應用,不用重複定義,達到了,優化**,優化程式的作用

es5的繼承有三種,原型繼承繼承方法,建構函式繼承,繼承屬性,組合繼承j繼承屬性和方法

一般使用es6繼承,可以繼承屬性和方法class extends constructor super

關於繼承的理解

一.基本概念 類之間的關係 繼承就是在已有類的基礎上建立新類的過程 已有的類叫做基類或父類,新類則叫做派生類或子類 二 基類和派生類 一 類繼承關係的語法形式 class 派生類名 基類名錶 基類名錶的構成 訪問控制 基類名1,訪問控制 基類名2,訪問控制 基類名n 訪問控制表示派生類對基類的繼承方...

有關繼承的理解

繼承 類與類之間的關係,子類往往是繼承了父類,用關鍵字extends來宣告子類。滿足is a。也就是說,子類必須是乙個父類的擴充套件,或者是乙個父類,或者像乙個父類。優點 提高了 的復用性和可維護性。對於子類而言,父類中除去私有變數之外,其他方法和變數都可以在子類中使用,而子類也可以定義新的變數和方...

對於繼承的理解

1.什麼是繼承?繼承其實就是乙個類繼承乙個類中的某些屬性,是類與類之間的關係 就好比子承父業,兒子繼承了父親的東西。如果b類繼承了a類,那麼b類中就會有a類屬性,方法。2.關鍵字 extends 乙個類繼承另乙個類就要用到extends這個關鍵字,class b extends a b繼承a,a是父...