c#使用關鍵字class來定義類。其基本結構如下:
class myclass
定義這樣乙個類後,就可以在能訪問該定義的工程的其他地方對該類進行例項化。
預設情況下,類宣告為內部的,即只有當前工程中的**才能訪問它。
可以用internal訪問修飾符關鍵字顯式指定,但這不是必須的,類在定義時預設為此型別的類。
如果將類指定為公共的,應可以由其他工程中的**來訪問。使用關鍵字public。(注:這種方式宣告的類不能是私有的private或受保護的protected。可以把這些宣告類的修飾符用於宣告類成員。)
還可以指定類是抽象的或密封的。
1.抽象abstract:不能被例項化,只能繼承,可以有抽象成員。
宣告方式如下:
public abstract class myclass
可以是乙個公共抽象類,也可以是乙個內部抽象類。
2.密封sealed:不能繼承。
宣告方式如下:
public sealed class myclass
與抽象類一樣,密封類也可以是公共或內部的。
可以在類定義中指定繼承。在定義類時在類名後面加上乙個冒號,其後是基類的名稱。
public class myclass : mybase
在c#中有乙個規定:編譯器不允許派生類的可訪問性比其基類更高。也就是說,內部類可以繼承於乙個公共類,但公共類不能繼承於乙個內部類。
合法的:內部類繼承公共類
public class mybase
internal class myclass : mybase
不合法的:公共類繼承內部類(編譯器會說可訪問性不一致)
internal class mybase
public class myclass : mybase
如果沒有使用基類,被定義的類則只繼承於基類system.object(它在c#中的別名是object)
除了以這種方式指定基類外,還可以在冒號的後面指定支援的介面。如果指定了基類,它必須緊跟在冒號的後面,之後才是指定的介面。如果沒有指定基類,則介面就跟在冒號的後面。使用逗號分隔基類名(如果有基類)和介面名。可以指定多個介面,以逗號分隔即可。
類定義中可以使用的訪問修飾符組合
none or internal
類只能在當前工程中訪問
public
類可以在任何地方訪問
abstract or internal abstract
類只能在當前工程中訪問,不能例項化,只能繼承
public abstract
類可以在任何地方訪問,不能例項化,只能繼承
sealed or internal sealed
類只能在當前工程中訪問,不能派生,只能例項化
public sealed
類可以在任何地方訪問,不能派生,只能例項化
C 修飾符 類修飾符和成員修飾符
c 修飾符之類修飾符 public internal partial abstract sealed static internal 本程式集內的成員可以訪問。partial 部分類,可以將乙個類分成幾部分寫在不同檔案中,最終編譯時將合併成乙個檔案,且各個部分不能分散在不同程式集中。c 修飾符之成員...
學習C 修飾符 類修飾符和成員修飾符
c 修飾符之類修飾符 public internal partial abstract sealed static c 修飾符之成員修飾符 public protected private internal sealed abstract virtual override readonly cons...
C 的類修飾符和成員修飾符
一 類修飾符 類修飾符 public internal partial abstract sealed static new protected private protected internal 1 public 訪問不受限制的,所有的本程式集以及其他的程式集裡面的類都能夠訪問 2 intern...