阿摩線上測驗 登入

申論題資訊

試卷:95年 - 095年專門職業及技術人員高等建築師、技師暨普通不動產經紀人、地政士資訊技師#32452
科目:程式設計
年份:95年
排序:0

題組內容

二、解釋名詞:

申論題內容

⑴超荷(Overloading)(6 分)

詳解 (共 1 筆)

詳解 提供者:hchungw
在程式設計中,超荷(Overloading)是一種允許多個同名函數或運算子存在,但這些函數或運算子的參數列表(參數的類型、個數或順序)必須不同的特性。超荷是多態性的一種形式,允許開發者對相同的函數名或運算子賦予不同的實現,便於程式碼的閱讀和維護。
函數超荷
函數超荷(Function Overloading)指的是在同一作用域內可以有多個同名的函數,這些函數的參數列表必須互不相同。這意味著,這些函數可以有不同的參數類型、不同的參數個數,或者即使參數個數相同,其參數類型的順序也可以不同。
運算子超荷
運算子超荷(Operator Overloading)允許對現有的程式語言運算子賦予新的意義。這使得開發者可以對自定義類型使用標準運算子(如 +、-、* 等)進行操作。運算子超荷需要在類型定義中明確指定運算子的行為。
超荷的規則
函數簽名的不同:超荷的函數必須在參數類型、個數或順序上有所不同,僅返回類型的不同不足以構成超荷。
調用時的解析:當一個超荷的函數被調用時,編譯器根據調用提供的參數類型、個數和順序來選擇最合適的函數版本進行調用。
作用域:超荷的函數應該在相同的作用域內。
超荷的優點
提高可讀性:通過超荷,相關的功能可以用相同的名稱表示,增加程式碼的可讀性和維護性。
增強表達力:特別是運算子超荷,可以讓自定義類型的操作更加直觀,使得程式碼更接近自然語言。