第七章 類型成員及其訪問限定
一、類型成員的可能組成:
ü???????? 常數(shù),總是靜態(tài)不可變的
ü???????? 字段,分為靜態(tài)和實例字段兩種
ü???????? 實例構(gòu)造器,初始化實例對象
ü???????? 類型構(gòu)造器,初始化類型的靜態(tài)字段
ü???????? 方法,分為靜態(tài)和實例方法兩種
ü???????? 重載操作符,并非CLS的一部分,因為并非所有語言均支持之
ü???????? 轉(zhuǎn)換操作符,不是CLS的一部分,部分語言不支持
ü???????? 屬性,分靜態(tài)和實例屬性
ü???????? 事件,分為靜態(tài)和實例事件兩種
ü???????? 類型
?
二、訪問限定修飾符:[僅列出c#中的]
C#術(shù)語 描述 private 僅可被所定義的類型(或其嵌套類型)訪問 protected 僅可以被所定義的類型(或嵌套類型)或繼承的類型訪問 Internal 僅可以被鎖定義的程序集訪問 protected internal 僅可以被所定義的類型(或嵌套類型)、派生類型以及同一程序集訪問 public 可被任何程序集的任何類型訪問
注:1、默認的訪問方式為Internal
?????? 2、只能選擇上述的一種修飾符,而不可同時指定兩個
?
三、類型預(yù)定義特性:
C#術(shù)語 描述 abstract 不可被實例化,可用作基類型 sealed 不能用作基類型
注:不可同時使用上述限定符,可通過為sealed修飾的類型提供private構(gòu)造函數(shù)來達到“不可被實例化并不可被繼承”的目的
?
四、字段預(yù)定義特性:
C#術(shù)語 描述 static 字段為 類型字段 readonly 僅可在構(gòu)造器中被賦值
注:關(guān)于常數(shù)和靜態(tài)只讀字段的區(qū)別,將在第八章詳述
?
五、方法預(yù)定義特性
C#術(shù)語 描述 static 類型方法,不能訪問實例字段或方法,只能訪問類型方法或類型字段 默認(CLR中稱為Instance) 實例方法,可以訪問實例方法或字段,也可以訪問類型方法或字段 virtual 多態(tài)的實現(xiàn),總調(diào)用繼承鏈最末端的實現(xiàn) new 僅用于虛方法,隱藏基類型的方法實現(xiàn) override 僅用于虛方法,顯示聲明重寫基類型方法 abstract 僅用于虛方法,派生類必須提供和該抽象方法匹配的實現(xiàn),含有抽象方法的類型為抽象類型 sealed 僅用于虛方法,派生類不能重寫該方法
注:sealed和abstract不
|