C#使用關(guān)鍵字class來(lái)定義類(lèi)。其基本結(jié)構(gòu)如下:
class myclass
{
//class members
}
定義這樣一個(gè)類(lèi)后,就可以在能訪問(wèn)該定義的工程的其他地方對(duì)該類(lèi)進(jìn)行實(shí)例化。
默認(rèn)情況下,類(lèi)聲明為內(nèi)部的,即只有當(dāng)前工程中的代碼才能訪問(wèn)它。
可以用internal訪問(wèn)修飾符關(guān)鍵字顯式指定,但這不是必須的,類(lèi)在定義時(shí)默認(rèn)為此類(lèi)型的類(lèi)。
如果將類(lèi)指定為公共的,應(yīng)可以由其他工程中的代碼來(lái)訪問(wèn)。使用關(guān)鍵字public。(注:這種方式聲明的類(lèi)不能是私有的private或受保護(hù)的protected??梢园堰@些聲明類(lèi)的修飾符用于聲明類(lèi)成員。
在C#中有一個(gè)規(guī)定:編譯器不允許派生類(lèi)的可訪問(wèn)性比其基類(lèi)更高。也就是說(shuō),內(nèi)部類(lèi)可以繼承于一個(gè)公共類(lèi),但公共類(lèi)不能繼承于一個(gè)內(nèi)部類(lèi)。
合法的:內(nèi)部類(lèi)繼承公共類(lèi)
public class MyBase
{
//class members
}
internal class MyClass : MyBase
{
//class members
}
不合法的:公共類(lèi)繼承內(nèi)部類(lèi)(編譯器會(huì)說(shuō)可訪問(wèn)性不一致)
internal class MyBase
{
//class members
}
public class MyClass : MyBase
{
//class members
}
訪問(wèn)修飾符的訪問(wèn)性由高到低一次為:public ——> internel ——> protected ——> private
posted on 2008-09-11 20:52
天書(shū) 閱讀(849)
評(píng)論(0) 編輯 收藏 引用