阿摩線上測驗 登入

101年 - 101年高等三級暨普通考普通_資訊處理#29393

科目:程式設計 | 年份:101年 | 選擇題數:0 | 申論題數:7

試卷資訊

所屬科目:程式設計

選擇題 (0)

申論題 (7)

三、一個簡化的龜兔賽跑系統有以下 3 個類別,請以 Java 語言撰寫這 3 個類別的完整定 義:(30 分) Animal 類別代表動物,是一個抽象類別(abstract class),它有 1 個 private 屬性 name 與 1 個 protected 屬性 speed,分別代表動物名稱與速度;有 1 個 public static 常數 DISTANCE,其值為 1000,代表賽跑的總距離;它有一個無引數建構子(noargument 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()所計算的時間, 合併成一個字串後傳回