您好,登錄后才能下訂單哦!
類的定義
class類名
{
類體
}
類的訪問級別
C++中的類沒有所謂訪問級別的問題,只需要導入定義類的頭文件,就可以使用這個類。而在C#和Java中,并不是所有的類都可以被任意使用。
在Java中,程序以包(package)的方式來組織,包的結構類似于文件夾。如果想使用另一個包里定義的類,除了要先導入這個包之外,想使用的這個類還必須是公有類(以public關鍵字定義的類)。如果在定義類的時候沒有使用關鍵字public來修飾,則這個類只能在定義它的包里被使用。
在C#中,系統按照“解決方法”、“項目”和“源文件”的的組織。“解決方案”的級別最高,一個“解決方案”可以包含若干個“項目”。然后,從文件的層次來講,一個“項目”中可以包含若干個C#源文件,一個C#源文件中可以包含若干個命名空間、類、接口、枚舉等。從程序元素的層次來看,一個項目中可以包含命名空間、類、接口等。
與Java類似,C#中的類按照訪問級別被分為內部類(這里講的“內部”是指訪問級別,不是指在類中定義的類)和公有類。內部類只能在本項目被使用,如果想讓某個類能被其他項目中的類訪問,則必須將其定義為公有類。
公有類用public關鍵字修飾;
內部類可以用關鍵字internal修飾,但一般不采用這種方式,因為C#中規定,沒有加關鍵字public的類就是內部類。
普通類、抽象類和密封類
如果在定義類時使用了關鍵字abstract,那么這個類就是抽象類。抽象類本身不能被實例化,
只能被繼承。
如果在定義類時使用了關鍵字sealed,那么這個類就是所謂的“密封類”,和抽象類剛好相反,密封類不能被繼承(類似于Java中的final類)。
如果在定義類是沒有使用關鍵字abstract或sealed,那么這個類就是一個普通的類。
注意:關鍵字abstract和sealed是互斥的。
以上的三種類都可以是public的或internal的。
繼承父類與實現接口的格式
class類名 : 父類,接口1,接口2,...
{}
和Java類似,C#中只能直接繼承一個父類,但可以實現多個接口。在不同于Java中的繼承父類用關鍵字extends,實現接口用關鍵字implements。C#中采用了類似C++中的方式,即:使用冒號。
在書寫格式上,冒號后面的列表中必須是父類在前,接口在后。
不同于C++,在冒號后面的列表中不能使用訪問級別修飾符。
要注意的是,C#規定,子類的訪問級別不能高于基類。
如果基類是抽象類,那么派生類必須要實現基類中的所有抽象方法,否則,派生類也必須是抽象類。
當然,子類也必須實現其實現的接口的所有方法。
接口的定義
使用關鍵字interface定義接口,而且規定接口名必須以大寫的英文字母I開頭。
接口也可以是internal的或public的。但不能對接口使用關鍵字abstract和sealed。
接口可以有父接口
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。