.net框架筆記型別成員及其訪問限度
一.
下面這段程式碼定義了一個包括所有可能成員的型別.
<!--
Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/
--> 1class SomeType
2 {
3 //巢狀類
4 class SomeNestedType { }
5
6 //常數、只讀欄位、靜態讀寫欄位
7 const Int32 SomeConstant = 1;
8 readonly int SomeReadOnlyField = 2;
9 static int SomeReadWriteField = 3;
10
11 //類構造器
12 static SomeType()
13 {
14 //..
15 }
16
17 //例項構造器
18 public SomeType()
19 {
20 //..
21 }
22 public SomeType(int x)
23 {
24 //..
25 }
26
27 //例項方法和靜態方法
28 String InstantceMethod()
29 {
30 return null;
31 }
32 static void Method()
33 {
34
35 }
36
37 //例項屬性
38 int SomeProp
39 {
40 get { return 0; }
41 set { }
42 }
43
44 //例項索引器屬性
45 public int this[String s]
46 {
47 get { return 0; }
48 set { }
49 }
50
51 //例項事件
52 event EventHandler someEvent;
53 }
二:訪問限定修飾符和預定義特性
1.
private 僅可以被所定義型別(或其任何巢狀型別)中的方法訪問.
protected 僅可以被所定義型別(或其任何巢狀型別)及其派生型別中的方法訪問,與所在程式集無關.
Internal 僅可以被所定義程式集中的方法訪問.
protected internal 僅可以被所定義型別.派生型別以及任何定義在同一程式集中方法訪問.
public 可以被所以程式集中的所有方法訪問。
2,
型別預定義特性
abstract 不能被例項化.可以用作其他型別的基型別.如果派生類不是抽象的,則可以構造他們的例項.
sealed 不能用作基型別
3.
欄位預定義特性
static 欄位是型別狀態,而非物件狀態的一部分
readonly 欄位僅可以在構造器方法中被賦值.
4.
方法預定義特性
static 方法和型別,而非型別的例項相關.靜態方法不能訪問型別中的例項欄位或例項方法,因為靜態方法對物件的狀態一無 所知
預設 方法和型別的例項而非型別本身關聯.方法可以訪問例項欄位和例項方法,也可以訪問靜態欄位和靜態方法.
virtual 當方法被呼叫時,無論物件是否被轉換為其基型別,都只有位於物件繼承鏈最末端的方法實現會被呼叫.僅應用於例項方法.
new 方法的子類實現不會重寫基型別中的實現.而僅僅是將其隱藏起來.僅用於虛方法.
override 顯示錶明方法在重寫基型別中的虛方法.僅用於虛方法.
abstract 表示派生型別必須提供和該抽象方法簽名匹配的實現.含抽象方法的型別是一個抽象型別.
sealed 派生類不能重寫該方法.
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12639172/viewspace-448592/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 《NET CLR via C#》---第六章(型別成員,型別的可訪問性,友元程式集,分部型別,CLR呼叫方法指令)C#型別
- java類成員中的訪問級別有哪些Java
- Redis In Action 筆記(一):基本資料型別及其操作Redis筆記資料型別
- dotnet 如何訪問到 UNO 框架裡面的 internal 不公開成員框架
- 17-成員訪問許可權訪問許可權
- 設計模式學習筆記(二十一)訪問者模式及其實現設計模式筆記
- 尹成學院golang學習快速筆記(1)型別Golang筆記型別
- [ASP.NET]關於DOT NET的IIS配置LocalHost訪問和127.0.0.1訪問的區別ASP.NETlocalhost127.0.0.1
- 解析SSH和SSM兩大框架的組成及其區別SSM框架
- WPF筆記7——TypeConverter型別筆記型別
- MySQL資料型別筆記MySql資料型別筆記
- python筆記--資料型別Python筆記資料型別
- c++基本型別筆記C++型別筆記
- Double型別轉換成BigDicimal問題型別
- c++語言中類的私有型別或保護型別成員變數C++型別變數
- Laravel 使用筆記之一 訪問器Laravel筆記
- TypeScript筆記(二)高階型別TypeScript筆記型別
- Go 筆記之資料型別Go筆記資料型別
- Redis 筆記(核心資料型別)Redis筆記資料型別
- Go型別特性-學習筆記Go型別筆記
- 抽象類的成員特點 學習筆記抽象筆記
- C#學習筆記之值型別與引用型別C#筆記型別
- .Net Core 學習筆記1——包、元包、框架筆記框架
- 泛型型別(.NET 指南)泛型型別
- MySQL8 JSON型別使用筆記MySqlJSON型別筆記
- TS學習筆記(一):基本型別筆記型別
- C語言筆記——自定義型別C語言筆記型別
- Python 學習筆記——資料型別Python筆記資料型別
- 語言型別介紹及其Python的語言型別型別Python
- TypeScript 官方手冊翻譯計劃【八】:型別操控-按索引訪問的型別TypeScript型別索引
- iOS學習筆記49 Swift(九)訪問控制iOS筆記Swift
- 程式錯誤型別及其處理型別
- Elasticsearch資料型別及其屬性Elasticsearch資料型別
- 《Haskell趣學指南》筆記之型別(type)Haskell筆記型別
- python筆記-資料型別&檔案操作Python筆記資料型別
- 自學PHP筆記 (三) 型別轉換PHP筆記型別
- 自學PHP筆記(三) 型別轉換PHP筆記型別
- Python學習筆記6——動態型別Python筆記型別
- Python學習筆記(一) 資料型別Python筆記資料型別