新聞中心
類的定義
class類名
{
類體
}
類的訪問級別
C++中的類沒有所謂訪問級別的問題,只需要導(dǎo)入定義類的頭文件,就可以使用這個類。而在C#和Java中,并不是所有的類都可以被任意使用。
在Java中,程序以包(package)的方式來組織,包的結(jié)構(gòu)類似于文件夾。如果想使用另一個包里定義的類,除了要先導(dǎo)入這個包之外,想使用的這個類還必須是公有類(以public關(guān)鍵字定義的類)。如果在定義類的時候沒有使用關(guān)鍵字public來修飾,則這個類只能在定義它的包里被使用。
在C#中,系統(tǒng)按照“解決方法”、“項目”和“源文件”的的組織。“解決方案”的級別最高,一個“解決方案”可以包含若干個“項目”。然后,從文件的層次來講,一個“項目”中可以包含若干個C#源文件,一個C#源文件中可以包含若干個命名空間、類、接口、枚舉等。從程序元素的層次來看,一個項目中可以包含命名空間、類、接口等。
與Java類似,C#中的類按照訪問級別被分為內(nèi)部類(這里講的“內(nèi)部”是指訪問級別,不是指在類中定義的類)和公有類。內(nèi)部類只能在本項目被使用,如果想讓某個類能被其他項目中的類訪問,則必須將其定義為公有類。
公有類用public關(guān)鍵字修飾;
內(nèi)部類可以用關(guān)鍵字internal修飾,但一般不采用這種方式,因為C#中規(guī)定,沒有加關(guān)鍵字public的類就是內(nèi)部類。
普通類、抽象類和密封類
如果在定義類時使用了關(guān)鍵字abstract,那么這個類就是抽象類。抽象類本身不能被實例化,
只能被繼承。
如果在定義類時使用了關(guān)鍵字sealed,那么這個類就是所謂的“密封類”,和抽象類剛好相反,密封類不能被繼承(類似于Java中的final類)。
如果在定義類是沒有使用關(guān)鍵字abstract或sealed,那么這個類就是一個普通的類。
注意:關(guān)鍵字abstract和sealed是互斥的。
以上的三種類都可以是public的或internal的。
繼承父類與實現(xiàn)接口的格式
class類名 : 父類,接口1,接口2,...
{}
和Java類似,C#中只能直接繼承一個父類,但可以實現(xiàn)多個接口。在不同于Java中的繼承父類用關(guān)鍵字extends,實現(xiàn)接口用關(guān)鍵字implements。C#中采用了類似C++中的方式,即:使用冒號。
在書寫格式上,冒號后面的列表中必須是父類在前,接口在后。
不同于C++,在冒號后面的列表中不能使用訪問級別修飾符。
要注意的是,C#規(guī)定,子類的訪問級別不能高于基類。
如果基類是抽象類,那么派生類必須要實現(xiàn)基類中的所有抽象方法,否則,派生類也必須是抽象類。
當(dāng)然,子類也必須實現(xiàn)其實現(xiàn)的接口的所有方法。
接口的定義
使用關(guān)鍵字interface定義接口,而且規(guī)定接口名必須以大寫的英文字母I開頭。
接口也可以是internal的或public的。但不能對接口使用關(guān)鍵字abstract和sealed。
接口可以有父接口
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。
新聞標(biāo)題:C#中的類1:定義(有點(diǎn)亂)-創(chuàng)新互聯(lián)
文章網(wǎng)址:http://www.ef60e0e.cn/article/csegsi.html