c 類的修飾符

2021-04-15 07:17:29 字數 1407 閱讀 1988

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...