瞞天過海法處理父類建構函式帶引數

2021-08-29 09:30:40 字數 742 閱讀 3066

這個方法以前從某個貼子上學的。但是只知道是那樣用,不知道是為啥。我今天忽然明白了。以前一直奉行拿來主義,不求甚解( ̄▽ ̄)~* 。。太丟人了。。下面寫一下我的理解,希望大家不要覺得我羅嗦

例1:[code]

[/code]

類myclass裡定義了mymethod方法,它指向乙個外部定義的函式(姑且這麼叫)myoutermethod。

當用myclass的例項來呼叫這個mymethod方法時,可以發現myoutermethod裡的this其實就是myclass的例項。

這個例子很好理解吧^_^。那麼再看例2。。

例2:[code]

[/code]

想讓parent裡的屬性變成自己的屬性。例1的方法給了我們瞞天過海的啟示~ 在child類裡令乙個屬性_super(隨便取名的啦)指向父類的parent方法。請對比下例1。這時_super就像mymethod, parent就像myoutermethod. 因此用child的例項來呼叫_super方法時,parent裡面的this指的就是child的例項~

因此我們執行this._super(id)的時候, parent方法裡的this.id, this.getlocation就這麼變成了child例項的囊中之物了∩__∩y 。但是, 相信大家已經看明白了,這僅限與寫在parent方法裡的屬性和方法喔(聽著好怪)。

如果要繼承寫在parent外面的方法,比如getid,那就得用child.prototype = new parent();這個就不說了。大家都知道得~

TestNG測試帶參建構函式的類

今天被同事問到乙個問題,問題描述如下 乙個測試類,只有乙個帶參建構函式。在帶參建構函式上加 test,同時加 parameters註解從testng.xml中傳遞引數。為保證測試函式在帶參建構函式之後執行,所以測試方法前的 test加了dependsonmethods屬性,依賴於帶參建構函式。重現問...

TestNG測試帶參建構函式的類

今天被同事問到乙個問題,問題描述如下 乙個 測試類,只有乙個帶參建構函式。在帶參建構函式上加 test,同時加 parameters註解從 testng.xml中傳遞引數。為保證測試函式在帶參建構函式之後執行,所以測試方法前的 test加了dependsonmethods屬性,依賴於帶參建構函式。重...

子類建構函式會預設呼叫父類無參建構函式

1.呼叫父類無參建構函式是預設的!子類的構造方法預設都去訪問了父類的無參構造方法 在子類中的構造方法後都有一行預設語句 base 12 3456 78910 1112 1314 15class fu class zi fu zi z new zi 先執行父類的建構函式把父類初始化完成,再初始化子類的...