Unity中C 多型特性介紹

2021-09-12 00:13:01 字數 1112 閱讀 4180

多型性意味著有多重形式。在物件導向程式設計正規化中,多型性往往表現為"乙個介面,多個功能"。

多型性可以是靜態的或動態的。在靜態多型性中,函式的響應是在編譯時發生的。在動態多型性中,函式的響應是在執行時發生的。

在編譯時,函式和物件的連線機制被稱為早期繫結,也被稱為靜態繫結。c# 提供了兩種技術來實現靜態多型性。分別為:

運算子過載將在下一章節討論,接下來我們將討論函式過載。

您可以在同乙個範圍內對相同的函式名有多個定義。函式的定義必須彼此不同,可以是引數列表中的引數型別不同,也可以是引數個數不同。不能過載只有返回型別不同的函式宣告。

下面的例項演示了幾個相同的函式print(),用於列印不同的資料型別:

當上面的**被編譯和執行時,它會產生下列結果:

printing int: 5

printing float: 500.263

printing string: hello c++

c# 允許您使用關鍵字abstract建立抽象類,用於提供介面的部分類的實現。當乙個派生類繼承自該抽象類時,實現即完成。抽象類包含抽象方法,抽象方法可被派生類實現。派生類具有更專業的功能。

請注意,下面是有關抽象類的一些規則:

下面的程式演示了乙個抽象類:

當上面的**被編譯和執行時,它會產生下列結果:

rectangle 類的面積:

面積: 70

當有乙個定義在類中的函式需要在繼承類中實現時,可以使用虛方法。虛方法是使用關鍵字virtual宣告的。虛方法可以在不同的繼承類中有不同的實現。對虛方法的呼叫是在執行時發生的。

動態多型性是通過抽象類虛方法實現的。

下面的程式演示了這點:

當上面的**被編譯和執行時,它會產生下列結果:

rectangle 類的面積:

面積:70

******** 類的面積:

面積:25

C 多型特性

編譯時多型性 靜態多型 通過過載函式實現 函式過載條件 形參的個數或資料型別不同 執行時多型性 動態多型 通過虛函式實現 產生多型條件 1 指向子類的基類指標2有 virtual 修飾的函式 3通過指標呼叫相應的虛函式 派生類的函式 遮蔽了與其同名的基類函式 如果派生類的函式與基類的函式同名,但是引...

Unity中C 封裝特性詳解

封裝被定義為 把乙個或多個專案封閉在乙個物理的或者邏輯的包中 在物件導向程式設計方 中,封裝是為了防止對實現細節的訪問。抽象和封裝是物件導向程式設計的相關特性。抽象允許相關資訊視覺化,封裝則使開發者實現所需級別的抽象。c 封裝根據具體的需要,設定使用者的訪問許可權,並通過訪問修飾符來實現。乙個訪問修...

C 的多型特性

多型性 polymorphisn 是允許你將父物件設定成為和乙個或更多的他的子物件相等的技術,賦值之後,父物件就可以根據當前賦值給它的子物件的特性以不同的方式運作。簡單的說,就是一句話 允許將子類型別的指標賦值給父類型別的指標。多型包括靜態多型就是過載和動態多型覆蓋。這裡主要講動態多型。c 多型性是...