super的兩個作用

2022-09-05 15:21:12 字數 998 閱讀 8221

super與例項沒有什麼關係,它本身有兩個作用的,參考如下理解:

1.super可以當函式用。super作為函式呼叫時,表示父類的建構函式。示例:

class par 

}class chil extends par

}var p = new

chil();

//子類的例項上,可以呼叫num屬性,則說明子類的建構函式中

//通過 super() 繼承了父類的建構函式。

console.log(p.num)

//21

super() 表示的父類的構造器,那麼super() 中的引數,自然表示父類構造器中的引數。

class par 

}class chil extends par

}var p = new chil("小慕"); //

例項化的時候,傳入引數"小慕"

//例項化物件,會繼承類的屬性和方法,chil類繼承了父類的屬性username,所以chil類的例項化物件

//也就可以呼叫到username,輸出"小慕"

console.log(p.username)

//小慕

2.可以作為物件使用。super 作為物件使用時, 在普通的方法中,指向的是父類的原型物件。在靜態方法中,指向的是父類。

也就是作為物件去使用分了兩種情況,擴充套件一下,作為了解:

class a 

//普通方法,放在a原型上的。

say()

//加static定義的叫做靜態方法,能被子類繼承,但是不能被例項化物件繼承。

static greeting()

}class b extends a

bsay()

static bgreeting()

}let xiao = new

b();

xiao.bsay();

b.bgreeting();

4 變數的兩個作用

一 變數的第乙個作用是儲存資料 一 先寫一段資料,進行運算 as 我想和你一起學習 二 寫一下自己的收穫 1 設定了變數as,這個相當於乙個容器,算是牛奶盒子吧。2 我想和你一起學習 這是變數的內容。3 使用了這個盒子裝起來以後,這樣變數拿起來就比較容易了。上面的演示中,我想要列印五次,就不用每次都...

do while0的兩個作用

1 作為一種防止巨集錯誤展開的一種防禦性寫法。相信很多人都知道,這裡不展開了。2 實現 goto 語句的功能,一次break就可以跳出到後續語句。do while 0 後續語句例如 static char readfiletobuf do fd fopen init configuration fi...

C 中兩個冒號( )的作用

global system.console.writeline number 冒號在什麼地方用.點是空間下類,表示下一層的意思?這裡面 前面是gac的標示符global,用法比較特殊,和.不是乙個型別的東西。global 是 c 2.0 中新增的關鍵字,理論上說,如果 寫得好的話,根本不需要用到它。...