第7章 分類成員及其訪問限定[《.NET框架程序設計》讀書筆記]
發表時間:2023-08-04 來源:明輝站整理相關軟件相關文章人氣:
[摘要]第七章 類型成員及其訪問限定一、類型成員的可能組成:ü???????? 常數,總是靜態不可變的ü???????? 字段,分為靜態和實例字段兩種ü???????? 實例構...
第七章 類型成員及其訪問限定
一、類型成員的可能組成:
ü???????? 常數,總是靜態不可變的
ü???????? 字段,分為靜態和實例字段兩種
ü???????? 實例構造器,初始化實例對象
ü???????? 類型構造器,初始化類型的靜態字段
ü???????? 方法,分為靜態和實例方法兩種
ü???????? 重載操作符,并非CLS的一部分,因為并非所有語言均支持之
ü???????? 轉換操作符,不是CLS的一部分,部分語言不支持
ü???????? 屬性,分靜態和實例屬性
ü???????? 事件,分為靜態和實例事件兩種
ü???????? 類型
?
二、訪問限定修飾符:[僅列出c#中的]
C#術語
描述
private
僅可被所定義的類型(或其嵌套類型)訪問
protected
僅可以被所定義的類型(或嵌套類型)或繼承的類型訪問
Internal
僅可以被鎖定義的程序集訪問
protected internal
僅可以被所定義的類型(或嵌套類型)、派生類型以及同一程序集訪問
public
可被任何程序集的任何類型訪問
注:1、默認的訪問方式為Internal
?????? 2、只能選擇上述的一種修飾符,而不可同時指定兩個
?
三、類型預定義特性:
C#術語
描述
abstract
不可被實例化,可用作基類型
sealed
不能用作基類型
注:不可同時使用上述限定符,可通過為sealed修飾的類型提供private構造函數來達到“不可被實例化并不可被繼承”的目的
?
四、字段預定義特性:
C#術語
描述
static
字段為 類型字段
readonly
僅可在構造器中被賦值
注:關于常數和靜態只讀字段的區別,將在第八章詳述
?
五、方法預定義特性
C#術語
描述
static
類型方法,不能訪問實例字段或方法,只能訪問類型方法或類型字段
默認(CLR中稱為Instance)
實例方法,可以訪問實例方法或字段,也可以訪問類型方法或字段
virtual
多態的實現,總調用繼承鏈最末端的實現
new
僅用于虛方法,隱藏基類型的方法實現
override
僅用于虛方法,顯示聲明重寫基類型方法
abstract
僅用于虛方法,派生類必須提供和該抽象方法匹配的實現,含有抽象方法的類型為抽象類型
sealed
僅用于虛方法,派生類不能重寫該方法
注:sealed和abstract不