高考申論題
107年
[資訊處理] 程式語言
第 五 題
使用 C++, Java 或 Python 程式語言設計機車里程數計算程式:
(一) motor:機車類別
brand:機車品牌的私有字串資料項目
fuel:機車油量(公升)的私有數值資料項目
speed:機車速度(公里/小時)的私有數值資料項目
km:機車可行駛公里數的私有數值資料項目
建構函數可將新建立物件之機車品牌、油量、速度作初始化
calKM()公有方法計算里程數,依標準機車計算,平均每公升可跑 15 公里
show()公有方法從螢幕顯示出機車品牌、油量、速度、可行駛公里數資訊
(二) electricMotor:電動機車類別
繼承機車(motor)類別
seat:電動機車座位數私有數值資料項目
建構函數可將新建立物件初始化
calKM()公有方法計算電動機車可行駛公里數,不受速度影響,電動機車平均每公
升可跑 20 公里
show()公有方法從螢幕顯示出電動機車品牌、油量、速度、可行駛公里數資訊
(三) raceMotor:競技機車類別
繼承機車(motor)類別
type:競技機車型號之私有字串資料項目
建構函數可將新建立物件初始化
calKM()公有方法計算競技機車可行駛公里數;競技機車若時速超過每小時 60 公
里,則平均每公升可跑 10 公里;沒超過的話則平均每公升可跑 12 公里
show()公有方法從螢幕顯示出競技機車品牌、油量、速度、可行駛公里數資訊
此題不需讓使用者輸入相關數值,只需在程式內建立電動機車與競技機車物件時給
予相關的數值,但程式需執行 show()方法以驗證程式的正確性。(25 分)
📝 此題為申論題
思路引導 VIP
- 類別層次設計:這是一題典型的繼承(Inheritance)與多型(Polymorphism)題目。應定義一個父類別
motor與兩個子類別electricMotor、raceMotor。 - 存取權限控管:題目要求資料項目為「私有(private)」。在繼承結構中,如果子類別需要存取父類別的變數,通常會將父類別成員設為
protected,或提供public的 getter/setter。為了嚴格遵守「私有」要求,建議在motor提供 getter,或在motor定義protected建構子。
🤖
AI 詳解
AI 專屬家教
【考點分析】 本題考查物件導向編程(OOP)的核心概念:封裝(Private fields)、繼承(Inheritance)與方法覆寫(Method Overriding)。 【理論/法規依據】
▼ 還有更多解析內容