2012-06-23 70 views

回答

31

您將該類標記爲abstract(這是C#模擬VB.NET Must Inherit)。

這將確保它不能直接實例化。

從鏈接MSDN文章:

抽象修飾符指示要修改的東西有缺失或不完整的實現。抽象修飾符可以與類,方法,屬性,索引器和事件一起使用。 在類聲明中使用抽象修飾符來指示一個類僅用於其他類的基類。標記爲抽象或包含在抽象類中的成員必須由派生自抽象類的類來實現。

(重點煤礦)

+1

中也有介紹,但是當你將類定義爲抽象時,它是否意味着它必須被繼承? – thechmodmaster

+1

@thechmodmaster - 呃,你不能直接創建這樣一個類的實例。您只能創建從其繼承的類的實例。如果這符合你的「必須繼承」的概念,我不知道。它確實匹配我的。 – Oded

+0

對我來說這聽起來合乎邏輯....它是來自工作間隔的一個問題 – thechmodmaster

4

您可以定義一個類爲abstract,或給它一個保護唯一的構造。 abstract比較好。

5

使用abstract修飾符。

public abstract class MyClass() 
{ 
    ... 
} 
1

這不是在代碼中推導或實施可能enforse needness,如果是一個問題。

但是:

您可以定義一個interface迫使消費者實施它。

,也可以定義abstract class只有抽象成員,迫使消費者覆蓋所有的人都

希望這會有所幫助。

+0

是的,這就是我所說的:如何以一種需要繼承它的方式定義一個類。你想確保這個類會繼承。 – thechmodmaster

3

如果你想創建一個類,它必須被繼承,你需要用abstract修飾符來標記它。

public abstract MyClass 
{ 
} 
相關問題