高普考題庫
101 年 101年公務人員高等考試三級考試暨普通考試・程式設計概要
申論 3一個簡化的龜兔賽跑系統有以下3 個類別,請以Java 語言撰寫這3 個類別的完整定義:(30 分)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()所計算的時間,合併成一個字串後傳回。101年公務人員普通考試試題 代號:44220類 科: 資訊處理科 目: 程式設計概要