C#の抽象クラスとは何ですか? |定義、プロパティ、および例

プログラミングにおける抽象化という用語は、非常に重要な情報ではありますが、不要な情報を隠蔽し、特定のキーまたは必要な情報のみをユーザーに表示することを意味します。これは、抽象クラスを使用することで可能になります。

C#の抽象クラスは、基本的にオブジェクトの作成を許可しないクラスです。ここでの「抽象」とは、その特定のクラスまたはメソッドを抽象化または制限するキーワードまたは修飾子です。抽象クラスには、別のクラスからの継承を通じてのみアクセスできます。

C#の抽象クラスのプロパティとコンポーネント

抽象クラスを開始またはアクセスするには、そこに必要な特定の要素があります。それらは以下のようにリストされています。

  1. 抽象クラスは、いくつかの派生クラスから一般的にアクセスできる基本クラスを作成するために使用されます。抽象クラスを使用または実装するには、プログラマーは最初に派生クラスを作成する必要があります。
  2. したがって、抽象クラスはサブクラスに継承する必要があり、サブクラスは関数をオーバーライドすることさえあります。
  3. すべての抽象クラスには、少なくとも1つの抽象メソッドが必要です。

C#の抽象クラスの例

メカニズムは複雑で、プログラミング言語に精通している人だけが理解できるので、概念を説明するのに役立つ非常に単純な例から始めることをお勧めします。

'type'として知られる既存の設計されたメソッドを持つクラス 'Tree'が存在するとします。他に何も定義されておらず、他の特定の情報も提供されていません。ツリーの種類や、可能な種類さえもわかりません。

ツリーの特定の例が利用可能な場合は、基本クラスTreeの継承を通じて別のクラスが作成されます。新しいクラス、たとえばPineやOakは、基本クラス、つまりTreeの構成や定義を実際に変更することはできないという考え方です。クラスTreeから派生した独自のクラスを作成し、ベースから継承された別のメソッドを定義する必要があります。

C#の抽象クラスの利点

  1. サブクラスは抽象クラスを実装するかオーバーライドするかを選択できますが、特定の関数を絶対に実装する必要がある特定の変更を行うことができます。
  2. したがって、抽象クラスを設計する際には、どのメソッドを必須に実装する必要があるかに関して、非常に高い柔軟性があります。
  3. プログラマーは、抽象クラスに必要な抽象メソッドの数を選択できます。抽象メソッドを含めずにコードを書くことも可能です。
  4. 抽象クラスは一度だけ定義する必要があり、今後必要に応じて何度でもアクセスまたは派生させることができます。
  5. 抽象クラスは、ある程度の共通性はあるが、抽象クラスの実装が異なるクラスのセットがある場合に非常に役立ちます。

C#の抽象クラスのデメリット

  1. 抽象クラスがクラス階層に追加できるのは、抽象クラスがまだ存在しない場合のみです。
  2. 抽象クラスのオブジェクトは参照のみ可能で、作成することはできません。
  3. 抽象クラスはインスタンス化できないという事実にもかかわらず、静的変数またはメソッドの使用は許可されていません。

参考文献

  1. https://books.google.co.in/books?hl=en&lr=&id=UbJa11wLcqYC&oi=fnd&pg=PA125&dq=Abstract+Class+in+C%23&ots=y9lmboLlHj&sig=kk5oYAJSHpmo-FyHphcAlkUh4cc&redir_esc=y#v=onepage&q=Abstract%20Class%20in%20C%23&f=false
  2. https://books.google.co.in/books?hl=en&lr=&id=-w9ftEtwPGwC&oi=fnd&pg=PP8&dq=Abstract+Class+in+C%23&ots=XXCx6-5nlm&sig=CYfs0myaTnm1anSz4QUGcZ65uS4&redir_esc=y#v=onepage&q=Abstract%20Class%20in%20C%23&f=false
x
2D vs 3D