阿摩線上測驗 登入

申論題資訊

試卷:102年 - 102年專門職業及技術人員高等建築師、技師、第二次食品技師暨普通不動產經紀人、記帳士考高等_資訊技師#29217
科目:程式設計
年份:102年
排序:0

申論題內容

一、JAVA 程式設計中,何謂開放封閉原則(open-closed principle)?(10 分)

詳解 (共 3 筆)

詳解 提供者:Pelicat
詳解 提供者:hchungw
在 Java 程式設計中,開放封閉原則(Open-Closed Principle,簡稱 OCP)是物件導向設計五大原則之一(SOLID 原則的第二個原則)。這個原則由 Bertrand Meyer 提出,其核心思想是:
開放於擴展(Open for extension):軟體的行為應該可以通過添加新的代碼來擴展,這意味著可以增加新的功能。
封閉於修改(Closed for modification):當需要改變軟體的行為時,應該盡量避免修改既有的代碼。
開放封閉原則的主要目的是提高軟體系統的可維護性和可擴展性,並且使得系統更加穩定。當系統需要添加或改變功能時,應該能夠通過添加新的代碼來完成,而不是去改動既有的代碼,這有助於防止對現有系統的影響,減少引入新的錯誤的機會。
在實踐中,這通常意味著:
使用抽象和接口來定義系統的行為,從而讓系統的其他部分依賴於這些抽象,而不是具體的實現。
當系統的需求改變或新需求出現時,可以通過創建抽象的新實現來擴展系統功能,而不必改動依賴於抽象的代碼。
例如,假設有一個基於接口的支付模塊,當需要添加新的支付方式時,你可以創建一個新的支付方式類別實現該接口,而不需要修改既有的支付系統代碼。這樣,原始的支付模塊不需要改變,同時系統也支持了新的支付方式。
詳解 提供者:Triple w.

開放封閉原則是面向對象設計的一個重要原則。這個原則的核心思想是:“對擴展開放,對修改封閉。” 這意味著一個類別應該可以在不改變其原始代碼的情況下進行擴展,通常這是通過繼承或接口來實現的。

正確選項的解釋:

  • 對擴展開放:這表示我們可以通過添加新類或新功能來擴展已有的系統,這樣可以讓系統保持靈活,適應需求的變化。例如,若我們有一個 Animal 類別,我們可以新增 Dog 和 Cat 這兩個子類,而不需要改變 Animal 類的代碼。

  • 對修改封閉:這意味著我們應該避免修改已經測試和穩定的代碼,這樣可以降低引入新錯誤的風險。當需求變更時,我們可以通過添加新功能來滿足需求,而不是修改現有的代碼

 
66f96eb80c22b.jpg