LONGEPASS
Q177.

有關於Java 程式語言的事件(Event)處理,下列那些敘述是正確的?

電腦軟體設計(JAVA) · 乙級 · Java · Q177

難易度分析

4 / 5

本題採複選形式,要求對 Java 事件處理機制的完整理解。除需掌握委派模型之運作流程外,還需精確區分實作介面與繼承 Adapter 類別在方法覆寫要求上的差異,且選項中包含對調正確概念的陷阱,提升了認知負荷。

正確答案 (複選):②, ③

  • ② 事件的傾聽者(Listener)會事先向事件的來源者註冊,等到事件真正發生時,產生事件的來源者會將事件(Event)物件傳遞委派給傾聽者處理:此為 Java 委派事件模型的核心機制:監聽器透過 `addActionListener()` 等方法向事件來源 (Event Source) 註冊,當事件觸發時,事件來源會建立 Event 物件並將其傳遞給已註冊的監聽器進行處理。
  • ③ 事件的傾聽者可以實作(Implement)相對應的介面(Interface)或繼承相對應的Adapter 類別來作事件處理:Java 提供兩種事件處理實作方式:一是直接實作 Listener 介面(需實作所有抽象方法),二是繼承 Adapter 類別(如 `MouseAdapter`、`WindowAdapter`),僅需覆寫感興趣的方法即可,此為介面卡設計模式的應用。

錯誤選項解析

  • ① 每個物件產生一個子類別(Subclass)專門來處理事件:Java 事件處理並非透過為每個物件建立子類別來達成,而是採用委派事件模型 (Delegation Event Model),由事件來源將事件委派給已註冊的監聽器 (Listener) 處理,此設計避免了類別膨脹並提高程式碼重用性。
  • ④ 實作相對應的Listener 介面時可以只實作有使用到的部份事件處理方法(Method)即可,但繼承相對應的Adapter 類別時則需將所有繼承的方法作改寫:此敘述剛好相反:當實作 Listener 介面時必須實作該介面定義的所有方法,而繼承 Adapter 類別時只需覆寫有使用到的方法即可,因為 Adapter 已提供所有方法的空實作,此為減少冗餘程式碼的設計。
Learning Tip

"本題核心考點為 Java 委派事件模型與 Adapter 類別的應用。常考陷阱在於混淆「實作介面」與「繼承 Adapter」的方法實作要求:實作介面需全部實作,繼承 Adapter 可選擇性覆寫。實務上建議優先使用 Adapter 類別或匿名內部類別來簡化程式碼,並注意 Swing 與 AWT 事件處理機制的一致性。"

學員答題分佈

①每個物件產生一個子類別(Subclass)專門來處理事件0%
②事件的傾聽者(Listener)會事先向事件的來源者註冊,等到事件真正發生時,產生事件的來源者會將事件(Event)物件傳遞委派給傾聽者處理0%
③事件的傾聽者可以實作(Implement)相對應的介面(Interface)或繼承相對應的Adapter 類別來作事件處理0%
④實作相對應的Listener 介面時可以只實作有使用到的部份事件處理方法(Method)即可,但繼承相對應的Adapter 類別時則需將所有繼承的方法作改寫0%

此答題分佈是根據學員在 LongePass 模擬考等實際作答紀錄計算而成。與考友分享這道歷屆試題與詳細解析!

相似類型題目