Re: [問題] 繼承與多型的新手問題

看板java作者 (痞子軍團團長)時間11年前 (2014/01/22 19:01), 編輯推噓1(101)
留言2則, 2人參與, 最新討論串1/1
又要來解釋為什麼鎖文 Orz 首先,你給的程式不完整 reduce() 沒給無所謂,但是 Rational(?,?) 這個也沒給? 另外,我實在看不出你到底要問什麼? 就我看來,這只是一個單純的 compile error 或著反過來說,同樣的程式碼/概念轉到 C++ 上頭去,真的能 run 嗎? (真的能 run 就抱歉了,我最後一次寫 C++ 是 n 年前帶助教課) ※ 引述《wtchen (沒有存在感的人)》之銘言: : 最近在自學data structure的分數運算(真的是自學,非作業) : 我c++已有很久經驗,可是到了java(剛開始碰)很多轉不過來, : class Rational2 extends Rational //定義一個class繼承Rational : { : public void setRational(long num) //多加一個function定義Rational 意義不明 @_@ : public Rational2() //多型 : { : super(); : } 多形? 意義不明 @_@ : public Rational2(long num,long denom) : { : super(num, denom); : } super 根本沒這 constructor? : public Rational2 divide(Rational2 r) // 這個多型不work : { : super.divide(r); : } 為什麼你會覺得他要 work? super(也就是 Rational)的 divide 的參數型態是 Rational 你要給他 Rational2,但是 Rational2 又不是 Rational 的祖先 那為什麼 compile 會過? -- 錢鍾書: 說出來的話 http://www.psmonkey.org 比不上不說出來的話 Java 版 cookcomic 版 只影射著說不出來的話 and more...... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.129.131.129

01/22 20:14, , 1F
已重新編輯貼文,我只是以c++的習慣去想java但是想不透而已
01/22 20:14, 1F

02/04 16:25, , 2F
C++ 這樣搞我沒理解錯的話也是不能跑的
02/04 16:25, 2F
文章代碼(AID): #1ItwJz64 (java)
文章代碼(AID): #1ItwJz64 (java)