在C#中使用class關鍵字,一個名稱,一對大括號來定義一個新類,類的數據成員和方法位於類的主體內(一對大括號之間)
類的語法格式
class MyClass
{
//類的主體
}
類修飾符
在定義類的時候可以在類的前面加上訪問修飾符,類的修飾符用於控制被訪問的範圍,默認情況下,類的修飾符爲internal
我們可以看到我們在類前面加了private,protected ,protected internal 都編譯出錯,所以證明類的修飾符只有這兩個,一個是internal ,另外一個則是public
1:internal 內部的
默認什麼都不寫時是internal
訪問僅限於一個程序集中
2:public 公開的
對訪問成員沒有級別限制,類可以在任何地方被訪問
當我們在ClassLibrary1工程裏的CallMeClass.cs裏是可以實例化MeClass的,這是因爲它們在一個在ClassLibrary1.dll文件中,也就是都在一個程序集中,所以可以實例化。
當我們在ConsoleApplication1工程中Program.cs中實例化MeClass時,編譯失敗,這是因爲被訪問類和訪問類它們不在一個程序集中,被訪問類MeClass在ClassLibrary1.dll程序集中,而訪問類Program.cs在ConsoleApplication1.exe中。而當我們在被訪問類中類名稱的前面加入public修飾符,就可以編譯通過了,就突破限制了。
類成員修飾符
1:private 私有的
只能在類的內部訪問
2:internal 內部的
訪問僅限於程序集中
3:protected 受保護的
只能在所在類和所在類的派生類中訪問,不管該派生類和基類是否在同一程序集中
4:protected internal 受保護的內部
如果是繼承關係,無論是不是在同一個程序集裏都可以訪問,如果不是繼承關係,只能在同一個程序集中訪問
5:public 公開的
對訪問成員沒有級別限制,類可以在任何地方被訪問
訪問權限示意圖
創建類的對象
在C#中創建類的實例化對象,需要使用到new關鍵字
我們定義的類屬於自定義類型,也是引用類型,因此可以new關鍵字實例化我們的這個類