多型性概述

大發指定邀請碼註冊88886486發表於2021-02-14

多型性

多型性是物件導向程式設計的重要特性之一,從字面意思上可以簡單理解就是:多種形態,多個樣子。其實本質意思也是這樣,在物件導向程式設計中,指同樣的方法被不同物件執行時會有不同的執行效果。

在具體來說,多型的實現又可以分為兩種:編譯時多型和執行時的多型。前者是編譯的時候就確定了具體的操作過程。後者呢是在程式執行過程中才確定的操作過程。這種確定操作過程的就是聯編,也稱為繫結。

聯編在編譯和連線時確認的,叫做靜態聯編,前面我們學習的函式過載、函式模板的例項化就屬於這一類。

另一種是在執行的時候,才能確認執行哪段程式碼的,叫做動態聯編,這種情況是編譯的時候,還無法確認具體走哪段程式碼,而是程式執行起來之後才能確認。

兩者相比之下,靜態聯編由於編譯時候就已經確定好怎麼執行,因此執行起來效率高;而動態聯編想必雖然慢一些,但優點是靈活。

兩者各有千秋,有各自不同的使用場景。

相關文章