司法三等申論題
114年
[檢察事務官電子資訊組] 程式語言
第 二 題
以下 Java 程式碼計算人類(Human)進行不同運動(Exercise)消耗的卡路里量。請完成統一塑模語言 UML 圖;並說明程式執行後的輸出,以及動態多型(Dynamic Polymorphism)指令所在之程式碼行數與其構成之原因。(25 分)
(程式碼包含 Exercise 抽象類別,Running 與 Climbing 子類別,以及 Human 與 ExerciseTest 類別,詳見原圖)
📝 此題為申論題
思路引導 VIP
首先釐清各類別間的關係(繼承、相依)以建構 UML 類別圖;接著追蹤主程式建立的實體與傳遞的參數來計算執行輸出;最後聚焦於父類別參考變數指向子類別實體並呼叫覆寫方法的那一行,以虛擬方法表(V-Table)與晚期綁定(Late Binding)原理解釋動態多型。
🤖
AI 詳解
AI 專屬家教
【破題】本題測驗物件導向程式設計的核心概念:繼承架構建模(UML)、方法覆寫的實務應用,以及執行期動態綁定(Dynamic Binding)的底層機制。 【論述】 一、UML 類別圖模型建立
▼ 還有更多解析內容