免費開始練習
高考申論題 111年 [資訊處理] 程式設計

第 四 題

抽象(abstract)類別、介面(interface)、覆寫(override)方法、多載(overload)方法是物件導向程式設計實現多型(polymorphism)的方式。下圖是人事系統中人員基本資料維護的類別圖,請說明類別圖中的覆寫方法及多載方法名稱(須說明理由),並使用 C++, Java 或 Python 程式語言撰寫 Person 類別與 Police 類別的程式碼。Police 類別之 GetPersonalInformation 函數必須傳回身分證(id_no)、姓名(name)、職稱(rank),UpdateRoleTitle 函數必須完整實作更新 police_rank。(30 分) [UML 類別圖描述: Person 類別為 <>。屬性:# id_no : string, # name : string。方法:+ GetPersonalInformation() : string, + UpdateRoleTitle() : void。 Police 類別繼承 Person。屬性:- police_rank : PoliceRank。方法:+ Police(id : string, name : string), + GetPersonalInformation() : string, + UpdateRoleTitle(title : ?) : void。 PoliceRank 類別。屬性:+ code : string, + rank : string。方法:+ PoliceRank(code: string, rank : string)]
題目圖片
📝 此題為申論題

思路引導 VIP

首先透過 UML 類別圖分析父子類別之間的方法簽章(Method Signature),同名且參數相同者為覆寫(Override),同名但參數不同者為多載(Overload)。撰寫程式碼時,需注意抽象類別的屬性可見度(# 為 protected),子類別建構子需呼叫父類別建構子(如 Java 的 super),且在存取自訂類別屬性(如 police_rank)時應加入空值檢查以防執行時期例外(NullPointerException)。

🤖
AI 詳解 AI 專屬家教

本題選用 Java 程式語言進行實作。 【解析】 一、 覆寫(Override)方法說明

▼ 還有更多解析內容

📝 同份考卷的其他題目

查看 111年[資訊處理] 程式設計 全題

升級 VIP 解鎖