1. 程式人生 > >C#編程(二十四)----------修飾符

C#編程(二十四)----------修飾符

宋體 public ext str 繼承 應用 man 空間 layout

修飾符

修飾符即應用於類型或成員的關鍵字.修飾符可以指定方法的可見性,publicprivate,還可以指定一項的本質,如剛發的vritualabstract.

可見性的修飾符

修飾符

應用於

說明

public

所有類型或成員

任何代碼均可以訪問該項

protected

類型和內嵌類型的所有成員

只有派生的類型能訪問該項

internal

所有類型或成員

只能包含它的程序集中訪問該項

private

類型和內嵌類型的所有成員

只能在它所屬的類型中訪問該項

protected internal

類型和內嵌類型的所有成員

只能在包含他的程序集中和派生類型的任何代碼中訪問該項

註意,類的定義只能是內部的或公有的,這取決於是否希望在類型包含的程序集外部訪問它:

public class MyClass

{}

不能把類型聲明為protected,private,protected internal,因為這些修飾符對於包含在名稱空間中的類型沒有意義.因此這些修飾符只能應用與成員.但是,可以用這些修飾符定義嵌套的類型(,包含在其他類型中的類型).因為在這種情況下,類型也具有成員的狀態.於是下面的代碼是合法的:

public class OuterClass

{

protected class InnerClass

{}

}

如果有嵌套的類型,則內部的類型總是可以訪問外部類型的所有成員.所以,上面的代碼中,InnerClass中代碼可以訪問OuterClass的所有成員,甚至可以訪問OuterClass的私有成員.

其他修飾符

修飾符

應用於

說明

new

函數成員

成員相同的簽名隱藏繼承的成員

static

所有成員

成員不作用於類的具體實例

vritual

僅函數成員

成員可以由派生類重寫

abstract

金函數成員

虛擬成員定義了成員的簽名,單沒有提供實現代碼

override

僅函數成員

成員重寫了繼承的虛擬或抽象成員

sealed

,方法和屬性

對於類,不能繼承自密封類.對於屬性和方法,成員重寫已繼承的虛擬成員,但任何派生類中的任何成員都不能重寫該校恒源.該修飾符必須與override一起使用

extern

僅靜態方法

成員在外部用寧一中語言實現.

C#編程(二十四)----------修飾符