Re: [問題] 繼承與多型的新手問題
又要來解釋為什麼鎖文 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
01/22 20:14, 1F
→
02/04 16:25, , 2F
02/04 16:25, 2F
java 近期熱門文章
PTT數位生活區 即時熱門文章