Re: [問題] super真的不能呼叫其他方法嗎?
※ 引述《godfat (godfat 真常)》之銘言:
: ※ 引述《zero00072 (叮釘無產者)》之銘言:
: : 環境:
: : Ruby 1.8.7
: : 狀況:
: : 我們老師在上「物件導向程式設計」時,選了Java來當他的教學語言
: : (我偏要跟他唱反調,用Ruby來寫……,還附上Java的程式碼,免得被當),
: 很好,我很感動 XD
: : 但現在,我們老師教到繼承,Java裡有super()的方法可以用,如下:
: 事實上這個 super 跟 this 一樣,不是 method, 可以想成
: 某種特別的 variable (reference), 所以有型別的效力在。
: 比較像是 scoping 用的東西。
在 java 中, super/this 有兩種情況會出現
一種像你所說, 是 reference
另一種是作為 invoke 其他 constructor 之用,
而這個和前面說的是不同的.
this(....) 是用以 invoke 其他 overriden 的
constructor 之用, super(...) 則是用以 invoke
某 parent class constructor 之用.
雖然名字一樣 (this/super) 但實際是完全不同的
東西, 不宜混為一談
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 202.155.236.82
推
12/09 15:31, , 1F
12/09 15:31, 1F
→
12/09 15:32, , 2F
12/09 15:32, 2F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 3 之 3 篇):