第十章 屬性

2022-01-15 02:50:20 字數 822 閱讀 3458

z屬性

本章也比較簡單稍作介紹:

無參屬性就是我們常見的屬性

可以封裝屬性、以執行緒安全方式訪問

有參屬性就是c#中的所引器

匿名型別

如圖遇到如下**

具體點就是:

上面的注釋也已經講清楚了,定義的型別之後,構造例項,然後初始化屬性。現在詳細說下

編譯器接收到 上圖**,先用var 定義乙個型別,但是不具體指定什麼型別,完全由後面的表示式 expression等來推斷,上圖中 「jeff」的型別來推斷,怎麼推斷呢。看到name、year後會建立這些推斷型別的私有字段,並且為每個字段建立公共唯讀屬性,和乙個構造器構造器接收這些表示式傳值,初始化私有唯讀字段,此外還重寫了並重寫object的equals(判斷每個字段是否都想等),gethashcode(根據每個欄位的雜湊碼生成雜湊碼)和tostring(返回「屬性=值」對的以逗號分隔的列表)。如圖

因此凡是多個匿名型別,並且匿名型別具有相同的結構那麼,編譯器僅會建立乙個匿名型別。

元組泛型型別,繼承於object 區別在於元數,一經建立不可改變,訪問通過item訪問。

索引器有參屬性,不做深入討論

jit優化

對於簡單的get,set訪問編譯器會將**內聯注意是簡單的get,set.這樣使用屬性就沒有效能消耗,因為內聯到方法的呼叫的地方了。避免了方法呼叫時候產生的開銷,但是屬性內聯到方法的呼叫地方,那麼方法就變的比較大了。因此才用簡單的get,set訪問器的使用會使本機**變小,因此執行的更快。注意是簡單的get,set。

第十章 屬性

目錄 10.1 無參屬性 10.2 有參屬性 10.3 呼叫屬性訪問器方法時的效能 10.4 屬性訪問器的可訪問性 10.5 泛型屬性訪問器方法 物件導向設計和程式設計的重要原則之一就是資料封裝,意味著型別的字段不應該公開,否則很容易因為不恰單使用欄位而破壞物件的狀態。可將屬性想象成智慧型字段,即背...

第十章 函式

使用def關鍵字 定義個數可變的位置形參 定義個數可變的關鍵字形參 定義預設值引數 定義個數可變的位置形參 deffun1 args 結果為乙個元組 print args fun1 10,20,30 10,20,30 定義個數可變的關鍵字形參 deffun2 args 結果為乙個字典 print a...

第十章 安全

網路安全 面對防病毒 防火牆 ids ips utm等明朗滿目安全解決方案讓使用者不知何選擇,也經常聽到很多管理員抱怨ids ips 防火牆 流量管理等該上的安全裝置都上但是在安全上心裡還是沒有底。網路安全實際上是乙個木桶效應,應該盡快找到最短的短板,只要有一塊短板存在無論你再怎麼加高木桶都是一事無...