物件導向基礎之四

2021-06-09 19:34:28 字數 1233 閱讀 5982

11.集合

集合與陣列。

陣列優點,比如說陣列在記憶體中連續儲存,因此可以快速而容易地從頭到尾遍歷元素,可以快速修改元素。缺點是建立時必須要制定陣列變數的大小,

還有在兩個元素之間新增元素也比較困難。

.net framework提供了用於資料儲存和檢索的專用類,這些類統稱集合。這些類提供對堆疊、佇列、列表和雜湊表的支援。大多數集合類實現相同的接

口。arraylist是命名空間system.collection下的一部分,它是使用大小可按需動態增加的陣列實現ilist介面。

arraylist的容量是arraylist可以儲存的元素數。arraylist的預設初始容量為0.隨著元素新增到arraylist中,容量會根據需要通過重新分配自動增加

。使用證書索引可以訪問此集合中的元素。此集合中的索引從零開始。

使用arraylist在儲存一些值型別時,需要裝箱為object物件,使用集合元素時,還需要執行拆箱操作,這就帶來了很大的效能損耗。

裝箱就是把值型別打包到object引用型別的乙個例項中。拆箱就是指從物件中提取值型別。

相對於簡單的賦值而言,裝箱和拆箱過程需要進行大量的計算。對值型別進行裝箱時,必須分配並構造乙個全新的物件。其次,拆箱所需的強制轉換也

需要進行大量的計算。由於這些利弊,framework 2.0後推出了新技術,就是泛型。

12.泛型

泛型是具有佔位符(型別引數)的類、結構、介面和方法,這些佔位符是類、結構、介面和方法所儲存或使用的乙個或多個型別的佔位符。泛型集合類

可以將型別引數用作他所儲存的物件的型別的佔位符;型別引數作為其字段和其方法的引數型別出現。

通常情況下,都建議使用泛型集合,因為這樣可以獲得型別安全的直接優點而不需要從基集合型別派生並實現型別特定的成員。此外,如果結合元素為值型別,泛型集合型別的效能通常優於對應的非泛型集合型別,並優於非泛型基集合型別派生的型別,因為使用泛型不必對元素進行裝箱。

13.委託與事件

委託是對函式的封裝,可以當作給方法的特徵制定乙個名稱。而事件則是委託的一種特殊形式,當發生有意義的事情時,事件物件處理通知過程。

委託是一種引用方法的型別。一旦為委託分配了方法,委託將與該方法具有完全相同的行為。委託物件用關鍵字delegate來宣告。而事件是說在發生其他類或物件關注的事情時,類或物件可通知事件通知他們。事件物件用event關鍵字宣告。

eventargs是包含事件資料的類的基類。

學無止境,你需要不斷地練習實踐才可能真正成為優秀的軟體工程師。

[參考]大話設計模式

php物件導向基礎(四)

1.tostring 方法 輸出物件時用來不報錯,寫在類裡,必須有返回值 class ren r new ren echo r 2.轉殖物件 class ren r new ren c clone r echo r name echo c name c name 李四 修改成員變數值的方法2 ech...

python基礎四 01 物件導向

物件導向程式設計與面向過程程式設計是兩種常見的程式設計思想。先通過引子來看下 話說三國時期,曹操帶領百萬大軍攻打東吳,大軍在長江赤壁駐紮,軍船連成一片。眼看就要滅了東吳,統一天下,曹操大悅,於是大宴眾文武。在酒席間,曹操詩性大發,不覺吟道 喝酒唱歌,人生真爽.眾文武齊呼 丞相好詩!於是命印刷工匠刻版...

物件導向(四)

super 關鍵字 父類的 this 關鍵字 什麼什麼的 代表本類物件的 哪個物件呼叫然後就代表哪個物件。this 1.子類建構函式,缺省會呼叫父類空引數的建構函式 肯定會呼叫,除非你呼叫了別的建構函式 final final 關鍵字 最終的 最後的 特點 修飾類,類不可以被繼承 2.修飾成員函式,...