必須継承クラスを定義する方法は? C#で必須継承クラスを定義する方法
答えて
あなたはabstract
(これはVB.NET Must Inherit
に類似したC#です)としてクラスをマークします。
これにより、インスタンスを直接インスタンス化することはできません。リンクMSDNの記事から
:
abstract修飾子が変更されているものが見つからないか、不完全な実装を持っていることを示しています。抽象修飾子は、クラス、メソッド、プロパティ、インデクサ、およびイベントで使用できます。 クラス宣言で抽象修飾子を使用すると、あるクラスが他のクラスの基本クラスであることのみを示すようになります。抽象クラスとして派生したクラスは、抽象クラスとして宣言されたメンバー、または抽象クラスに含まれているメンバーを実装する必要があります。
(強調鉱山)
にも取り上げられていますが、抽象クラスとして定義すると、継承する必要があることを意味しますか? – thechmodmaster
@thechmodmaster - そうしたクラスのインスタンスを直接作成することはできません。そこから継承するクラスのインスタンスのみを作成できます。それが "継承されなければなりません"というあなたの考え方に合っていれば、わかりません。それは私のものと一致します。 – Oded
それは私に論理的に聞こえる....仕事からの質問間違い – thechmodmaster
あなたはabstract
としてクラスを定義する、またはそれに保護された専用のコンストラクタを与えることができます。 abstract
が良いです。
abstract
修飾語を使用してください。
public abstract class MyClass()
{
...
}
ということが問題だった場合は、コード内の派生または実装の可能性enforseのneednessではありません。
しかし:
あなたはそれを実装に消費者を強制的にinterface
を定義することができます。
抽象メンバーだけでabstract class
を定義して、消費者にのすべてをに上書きさせることができます。
これが役に立ちます。
はい、それは私が言いたいことです:それを継承するために必要な方法でクラスを定義する方法。このクラスが継承されることを確認します。 – thechmodmaster
あなたが継承する必要があるクラスを作成したい場合は、abstract
修飾子を付けてマークする必要があります。
public abstract MyClass
{
}
- 1. C++メタプログラミング:*必須*抽象クラスを継承
- 2. JPAで継承クラスの属性を再定義する方法
- 3. 内部クラスを継承するサブクラスのコンストラクタを定義する方法は?
- 4. クラス内でクラスを定義する際の継承
- 5. 継承を使用して親クラスの関数を定義する方法は?
- 6. クラスの必須プロパティを定義するためのデコレータの作成方法
- 7. クラスをスカラーで継承する方法
- 8. Rack :: Builderから継承するクラスを定義します。
- 9. DbContextクラスから継承する方法
- 10. 元のテーブル定義からパラメータサイズを継承する方法は?
- 11. 継承スロットのS4プロトタイプを定義する方法
- 12. 継承したクラスを継承する
- 13. 継承されたクラスのコピーコンストラクタの定義を禁止する
- 14. Linq to sql - 派生クラスの継承マッピングを定義する
- 15. コンストラクタを定義する必要がありますか?抽象クラスを継承するクラスですか?
- 16. Gradleタスク定義の継承
- 17. クラス継承とインターフェイス継承
- 18. Setクラスの継承const_setクラスのクラスdelcaration OR設定クラスの継承後
- 19. スカラ継承:なぜ抽象クラスにクラスを定義する必要がありますか?
- 20. クラスを継承して他の場所で定義されたクラスにMVCの必須属性を追加できますか?
- 21. Ruby on Rails:クラス継承のための未定義メソッド
- 22. エラーC2011: 'クラス型の再定義 - 基本継承
- 23. C++クラスの継承、未定義の 'Class :: Constructor()'への参照
- 24. MultiLevel継承、クラスCはクラスAを継承できますか?
- 25. グローバルメソッドを定義する際に、継承クラスからサブクラスを動的に選択する方法
- 26. 共通の抽象クラスを継承するオブジェクトの検証設定を継承
- 27. クラス継承java
- 28. es6クラス継承
- 29. クラス継承PHP
- 30. C++クラス継承
VB.Netから来ていますか?がんばろう!また、http://stackoverflow.com/questions/5189405/difference-between-mustinherit-and-abstract-class – dash