阿摩線上測驗 登入

申論題資訊

試卷:108年 - 108 專技高考_資訊技師:程式設計#80792
科目:程式設計
年份:108年
排序:0

題組內容

一、

申論題內容

(一)請解釋 polymorphism。(3 分)

詳解 (共 1 筆)

詳解 提供者:hchungw

多態性是物件導向程式設計(OOP)中的一個核心概念,它允許不同類別的對象被當作是一個共同父類的對象來處理。這使得單一介面可以代表不同的底層形態(資料型態)。多態性一詞來自希臘語的「poly」(意為許多)和「morph」(意為形狀或外形),字面意思是「多種形態」。在物件導向程式設計中,主要有兩種類型的多態性:編譯時多態性(或靜態多態性)和運行時多態性(或動態多態性)。

編譯時多態性

編譯時多態性,也稱為靜態多態性,是通過在同一個類中進行方法重載或運算符重載來實現的。它允許多個方法或函數有相同的名稱但參數不同。決定調用哪個方法的過程在編譯時進行,因此得名。

  • 方法重載:在同一個類中有多個具有相同名稱但參數列表不同的方法。

運行時多態性

運行時多態性,也稱為動態多態性,是通過繼承和介面(在某些語言中)實現的。它允許在執行時刻,一個對象變數參考不同類型的對象,並通過這個參考調用在不同類中實現的方法。運行時多態的典型實現是方法覆蓋。

  • 方法覆蓋:子類重寫父類的一個方法,以提供特定於子類的行為實現。

多態性是物件導向程式設計中非常重要的一部分,它提高了程式碼的可重用性和擴展性,同時也使得程式碼更容易理解和維護。