封裝,多型,介面,集合,迭代器

2021-06-27 20:15:05 字數 2087 閱讀 5089

unity學習,希望我的部落格能給喜歡unity的朋友帶來幫助

封裝---隱藏乙個物件的內部實現

定義:封裝是指隱藏物件的屬性及實現細節,對外僅提供介面可見。

作用:(1)

封裝實現了資訊隱藏,有利於軟體復用。

(2)避免使用非法資料賦值 保證資料的完整性 避免內部發生修改時,導致整個程式的修改

屬性封裝和方法封裝的區別:

屬性封裝與傳統封裝的使用目的是相同的,屬性封裝的優點在於:使用物件的使用者可以使用乙個命         名項就能操作內部資料。

多型---

用同樣的方法處理相關物件

定義:不同類的物件對同一訊息作出

不同的響應

(乙個物件在特定的情況下,表現不同的狀態,從而對應著不同的屬性和方法。)

多型有兩種表現形式:過載和覆蓋

多型的作用:介面重用

介面:

定義:介面是可屬於任何類或資料的一組相關功能,用inte***定義,是一種規範。

作用:介面的作用在於抽出一些類的共通方法,但是又不去實現,這樣既有利於管理,又不妨礙不同類的功能實現。 

類是物件的抽象,

介面是方法的抽象。

集合:

arraylist

system.collections.arraylist 

類,僅僅實現

ilist

,最適合描述為一種正常陣列和集合的混合型。

arraylist

按照專案被加入集合的順序儲存專案。每個專案都被分配乙個索引識別符號而且能由關聯它們的索引數字以任何順序被檢索。當新專案加入集合時會擴大

arraylist

從而令其相比普通陣列更具靈活性。然而,

arraylist

負載比傳統陣列更大而且沒有實現嚴格的型別化,也就可以接受任何轉換為

system.object

的物件(換句話說,對什麼東西都來者不拒)

泛型:

(1)泛型集合可以約束集合內的元素型別 

編譯時檢查型別約束

無需裝箱拆箱操作

(2)加上using system.collections.generic;

(3) list,dictionary(

、表示該泛型集合中的元素型別)

(4)list和arraylist的區別:

list可以使用泛型,

arraylist不可以

迭代器

專業解釋:

1.迭代器是可以返回相同型別值的有序序列的一段**;

2.迭代器可用作方法、運算子或

get訪問器的**體;

3.迭代器**使用

yield return

語句依次返回每個元素,

yield break

將終止迭代;

4.可以在類中實現多個迭代器,每個迭代器都必須像任何類成員一樣有惟一的名稱,並且可以在

foreach

語句中被客戶端**呼叫;

5.迭代器的返回型別必須為

ienumerable

和ienumerator

中的任意一種;

6.迭代器是產生值的有序序列的乙個語句塊,不同於有乙個

或多個yield

語句存在的常規語句塊;

7.迭代器不是一種成員,它只是實現函式成員的方式,理解這一點是很重要的,乙個通過迭代器實現的成員,可以被其他可能或不可能通過迭代器實現的成員覆蓋和過載;

8.迭代器塊在

c#語法中不是獨特的元素,它們在幾個方面受到限制,並且主要作用在函式成員宣告的語義上,它們在語法上只是語句塊而已;

陣列,集合,IEnumerable介面,迭代器

發展 陣列 集合 泛型 1 陣列 1.陣列資料結構是system.array類的乙個例項.2.system.array類的語法為 serializableattribute comvisibleattribute true public abstract class array icloneable...

陣列,集合,IEnumerable介面,迭代器

陣列 集合 泛型 1 陣列 1.陣列資料結構是system.array類的乙個例項.2.system.array類的語法為 serializableattribute comvisibleattribute true public abstract class array icloneable,il...

如何使用迭代器迭代集合

iterator 迭代器是乙個專門用來遍歷集合使用的類,迭代器需要通過 集合物件.iterator 方法獲得。迭代器物件使用 hashnext 方法 檢視是否還有可以迭代的元素,使用next 方法返回迭代器中的物件。迭代器返回的物件預設都是object型別。set集合的遍歷 1.通過set集合呼叫i...