1. 程式人生 > 其它 >N1上面安裝花生殼,實現內網穿透

N1上面安裝花生殼,實現內網穿透


多型分為兩種:通用的多型和特定的多型。兩者的區別是前者對工作的型別不加限制,允許對不同型別的值執行相同的程式碼;後者只對有限數量的型別有效,而且對不同型別的值可能要執行不同的程式碼。


通用的多型又分為引數多型(parametric)和包含多型(inclusion);特定的多型分為過載多型(overloading)和強制多型(coercion)。


強制多型:編譯程式通過語義操作,把操作物件的型別強行加以變換,以符合函式或操作符的要求。程式設計語言中基本型別的大多數操作符,在發生不同型別的資料進行混合運算時,編譯程式一般都會進行強制多型。程式設計師也可以顯示地進行強制多型的操作(Casting)。舉個例子,比如,int+double,編譯系統一般會把int轉換為double,然後執行double+double運算,這個int+double的轉換,就實現了強制多型,即可是隱式的,也可顯式轉換。


過載(overloading)多型:同一個名(操作符﹑函式名)在不同的上下文中有不同的型別。程式設計語言中基本型別的大多數操作符都是過載多型的。通俗的講法,就是c++中的函式過載。在此處中“overload”譯為“過載”,其實就是所謂的“過載”,也許“overload”就應翻譯為“過載,過載”吧,那“override”就只能是“覆蓋”了。


引數多型:採用引數化模板,通過給出不同的型別引數,使得一個結構有多種型別。


包含多型:同樣的操作可用於一個型別及其子型別。(注意是子型別,不是子類。)包含多型一般需要進行執行時的型別檢查。