龜兔賽跑C語言和Java語言問題 請點下圖即可進入網站看更詳細資料 免費又好玩的網頁遊戲 免費交友網站 優質商品推薦
龜兔賽跑C語言和Java語言問題
一個簡化的龜兔賽跑系統有以下3個類別,請以C和Java語言撰寫這3個類別的完整定義: Animal類別代表動物,是一個抽象類別(abstract class),它有1個private屬性name與1個protected屬性speed,分別代表動物名稱與速度;有1個public static常數DISTANCE,其值為1000,代表賽跑的總距離;它有一個無引數建構子(no-argument constructor),會將name設定為“No Name”,將speed設定為1;也有一個二引數建構子(two-argument... 顯示更多 一個簡化的龜兔賽跑系統有以下3個類別,請以C和Java語言撰寫這3個類別的完整定義
:
Animal類別代表動物,是一個抽象類別(abstract class),
它有1個private屬性name與1個protected屬性speed,分別代表動物名稱與速度;
有1個public static常數DISTANCE,其值為1000,代表賽跑的總距離;
它有一個無引數建構子(no-argument constructor),會將name設定為“No Name”,將speed設定為1;
也有一個二引數建構子(two-argument constructor),會將name與speed分別設定為傳入之參數theName與theSpeed;
它也有1個toString()方法會傳回動物名稱與速度合併後的字串;
它有1個time()的抽象方法(abstract method),用以計算動物跑完全程所需時間。
Turtle類別代表烏龜,是Animal的衍生類別。
它的無引數建構子會呼叫Animal的無引數建構子;
它的二引數建構子會呼叫Animal的二引數建構子;
它的time()方法會傳回烏龜跑完全程所需時間。
它的toString()方法會先呼叫父類別的toString()以取得名稱與速度,並與time()所計算的時間,合併成一個字串後傳回。
Rabbit類別代表兔子,是Animal的衍生類別。
它有一個private的屬性sleep,代表兔子在比賽開始後睡覺的時間。
它有一個無引數建構子,會先呼叫Animal的無引數建構子,然後將sleep設定為0;
它有一個三引數建構子,會先呼叫Animal的二引數建構子,然後將sleep設定為傳入之第3個參數theSleep;
它的time()方法會傳回兔子跑完全程所需時間,此時間需包含兔子睡覺的時間。
toString()方法會先呼叫父類別的toString()以取得名稱與速度,並與sleep時間,以及time()所計算的時間,合併成一個字串後傳回。
更新: 那可否用C++物件導向語言回答,謝謝
更新 2: 用JAVA的話一樣?
追蹤 1 個解答 1 檢舉不當使用
最佳解答: 同版主問的其他問題, C 語言沒有物件導向概念, 你的題目不能用 C 寫, 說用 C 寫是誤解.
2013-12-10 22:59:35 補充:
#include
#include
#include
using namespace std;
class Animal {
public:
static int DISTANCE;
Animal():name("No Name"),speed(1){}
Animal(string& n, int s):name(n),speed(s){}
string toString() {
ostringstream s;
s return s.str();
}
virtual int time()=0;
protected:
int speed;
private:
string name;
};
int Animal::DISTANCE=1000;
class Turtle: public Animal {
public:
Turtle():Animal(){}
Turtle(string& n, int s):Animal(n,s){}
string toString() {
ostringstream s;
s return s.str();
}
virtual int time() { return DISTANCE/speed; }
};
class Rabbit: public Animal {
public:
Rabbit():Animal(),sleep(0){}
Rabbit(string& n, int s):Animal(n,s),sleep(0){}
Rabbit(string& n, int s, int l):Animal(n,s),sleep(l){}
string toString() {
ostringstream s;
s return s.str();
}
virtual int time() { return sleep+DISTANCE/speed; }
private:
int sleep;
};
int main() {
Turtle t(string("turble"), 5); cout Rabbit r(string("rabbit"), 25, 200); cout system("pause");
return 0;
}
2013-12-16 23:15:12 補充:
Java 的語法和 C++ 當然不一樣啊.
2013-12-17 01:50:07 補充:
Java 自己寫吧 ...
龜兔賽跑,龜兔賽跑的故事,龜兔賽跑圖片,龜兔賽跑英文,賽跑遊戲,任賢齊-賽跑,奧運賽跑,賽跑英文,任賢齊賽跑歌詞,賽跑比賽,賽跑規則
優質購物網站
- May 25 Wed 2016 04:51
《賽跑》 龜兔賽跑C語言和Java語言問題
全站熱搜
留言列表
發表留言