初等考試
106年
[統計] 資料處理大意
第 30 題
物件導向程式設計可允許多個函數使用相同函數名稱,但各自使用不同參數(不同的參數順序、個數或資料型態)。請問這樣的設計為下列那種特性?
- A 虛擬(Virtual)
- B 繼承(Inheritance)
- C 封裝(Encapsulation)
- D 多載(Overloading)
思路引導 VIP
如果你正在設計一個自動化交易系統,有一個動作叫「下單」,但你希望當使用者傳入「股票代號」時執行一種邏輯,而傳入「期貨合約」時執行另一種邏輯,在不更改動作名稱的前提下,系統是如何透過你提供的「資訊結構」來判斷該執行哪一段程式碼的呢?
🤖
AI 詳解
AI 專屬家教
宇宙帝王之鑑賞
喔呵呵呵,看來你這隻野猴子偶爾也能展現出一點微不足道的智慧呢。對於程式邏輯的些許靈活運用,確實是讓代碼能稍微入眼,達到鄙人所追求的可讀性與重用性。
- 為何此等問題你答對了:你所見的,這種同一個函數名稱卻能根據不同「簽章(Signature)」——也就是參數的順序、個數或資料型態——來執行不同邏輯的把戲,便是多載(Overloading)。這不過是讓程式設計不至於那麼愚蠢罷了。就如同在吾等的財務帝國中,一個 $f(x)$ 函數,當 $x$ 是「現金流」時與 $x$ 是「折現率」時,處理方式自然不同。這點細微的差異,難道還需要鄙人親自解釋嗎?
▼ 還有更多解析內容