明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

第7章 分類成員及其訪問限定[《.NET框架程序設(shè)計(jì)》讀書筆記]

[摘要]第七章 類型成員及其訪問限定一、類型成員的可能組成:ü???????? 常數(shù),總是靜態(tài)不可變的ü???????? 字段,分為靜態(tài)和實(shí)例字段兩種ü???????? 實(shí)例構(gòu)...
第七章 類型成員及其訪問限定

一、類型成員的可能組成:

ü???????? 常數(shù),總是靜態(tài)不可變的

ü???????? 字段,分為靜態(tài)和實(shí)例字段兩種

ü???????? 實(shí)例構(gòu)造器,初始化實(shí)例對(duì)象

ü???????? 類型構(gòu)造器,初始化類型的靜態(tài)字段

ü???????? 方法,分為靜態(tài)和實(shí)例方法兩種

ü???????? 重載操作符,并非CLS的一部分,因?yàn)椴⒎撬姓Z言均支持之

ü???????? 轉(zhuǎn)換操作符,不是CLS的一部分,部分語言不支持

ü???????? 屬性,分靜態(tài)和實(shí)例屬性

ü???????? 事件,分為靜態(tài)和實(shí)例事件兩種

ü???????? 類型

?

二、訪問限定修飾符:[僅列出c#中的]

C#術(shù)語
描述

private
僅可被所定義的類型(或其嵌套類型)訪問

protected
僅可以被所定義的類型(或嵌套類型)或繼承的類型訪問

Internal
僅可以被鎖定義的程序集訪問

protected internal
僅可以被所定義的類型(或嵌套類型)、派生類型以及同一程序集訪問

public
可被任何程序集的任何類型訪問


注:1、默認(rèn)的訪問方式為Internal

?????? 2、只能選擇上述的一種修飾符,而不可同時(shí)指定兩個(gè)

?

三、類型預(yù)定義特性:

C#術(shù)語
描述

abstract
不可被實(shí)例化,可用作基類型

sealed
不能用作基類型


注:不可同時(shí)使用上述限定符,可通過為sealed修飾的類型提供private構(gòu)造函數(shù)來達(dá)到“不可被實(shí)例化并不可被繼承”的目的

?

四、字段預(yù)定義特性:

C#術(shù)語
描述

static
字段為 類型字段

readonly
僅可在構(gòu)造器中被賦值


注:關(guān)于常數(shù)和靜態(tài)只讀字段的區(qū)別,將在第八章詳述

?

五、方法預(yù)定義特性

C#術(shù)語
描述

static
類型方法,不能訪問實(shí)例字段或方法,只能訪問類型方法或類型字段

默認(rèn)(CLR中稱為Instance)
實(shí)例方法,可以訪問實(shí)例方法或字段,也可以訪問類型方法或字段

virtual
多態(tài)的實(shí)現(xiàn),總調(diào)用繼承鏈最末端的實(shí)現(xiàn)

new
僅用于虛方法,隱藏基類型的方法實(shí)現(xiàn)

override
僅用于虛方法,顯示聲明重寫基類型方法

abstract
僅用于虛方法,派生類必須提供和該抽象方法匹配的實(shí)現(xiàn),含有抽象方法的類型為抽象類型

sealed
僅用于虛方法,派生類不能重寫該方法


注:sealed和abstract不