基本クラス-.NET

著者: Peter Berry
作成日: 11 Aug. 2021
更新日: 22 六月 2024
Anonim
17 | NETFrameworkクラスライブラリでのクラスと継承の操作
ビデオ: 17 | NETFrameworkクラスライブラリでのクラスと継承の操作

コンテンツ

定義-基本クラス-.NETの意味

C#の短所である基本クラスは、他のクラスを作成または派生するために使用されるクラスです。基本クラスから派生したクラスは、子クラス、サブクラス、または派生クラスと呼ばれます。基本クラスは他のクラスを継承せず、派生クラスの親と見なされます。

基本クラスは、派生によって継承を実現する手段を形成します。基本クラスから派生したクラスは、データと動作の両方を継承します。たとえば、車両は、派生クラスの車とバスの派生元となる基本クラスにすることができます。車とバスはどちらも乗り物であり、それぞれが基本クラスの独自の専門分野を表しています。

Javaと同様ですが、C ++とは異なり、C#はクラスの複数の継承をサポートしていません。 C#は、すべての仮想メンバーに対して仮想修飾子を明示的にマークする点でJavaと異なります。

基本クラスは、親クラスまたはスーパークラスとも呼ばれます。


Microsoft AzureとMicrosoft Cloudの紹介|このガイドでは、クラウドコンピューティングとは何か、Microsoft Azureを使用してクラウドからビジネスを移行および実行する方法を学習します。

Techopediaは基本クラスを説明します-.NET

基本クラスは、派生クラスの派生クラスに関連するメンバーを追加またはオーバーライドすることで、基本クラス(コンストラクターおよびデストラクタを除く)から暗黙的に取得されるコードを再利用し、基本クラスの機能を拡張できる特殊なクラスを作成するのに役立ちます。 C#では、イベントは派生クラスから発生できる基本クラスで宣言されます。特定のデータ型に固有ではない操作をカプセル化するために使用される汎用クラスは、基本クラスとして機能し、汎用的な動作を提供して柔軟性とコードの再利用性を実現します。

C#の基本クラスのプロパティのキー:

  • 基本クラスメンバ(コンストラクタ、インスタンスメソッド、またはインスタンスプロパティアクセサ)は、「base」キーワードを使用して派生クラスでアクセスされます。
  • 基本クラスは、派生クラスの前に自動的にインスタンス化されます。
  • 派生クラスは、インスタンス化中に、一致するパラメーターリストを使用して基本クラスコンストラクターを呼び出すことにより、基本クラスと通信できます。
  • 基本クラスのメンバーは、明示的なキャストを介して派生クラスからアクセスできます。
  • 基本クラス自体が派生クラスになる可能性があるため、クラスには多くの基本クラスが含まれる場合があります。
  • 派生クラスのメンバーは、基本クラスのパブリック、保護、内部、および保護された内部メンバーにアクセスできます。
  • 継承の推移的な性質により、派生クラスには基本クラスが1つしかありませんが、基本クラスの親で宣言されたメンバーを継承します。
  • 基本クラスのメソッドを仮想として宣言することにより、派生クラスは独自の実装でそのメソッドをオーバーライドできます。オーバーライドおよびオーバーライドするメソッドとプロパティの両方に、virtual、abstract、overrideなどの同じアクセスレベル修飾子が必要です。
  • メソッドにキーワード「abstract」を使用する場合、そのクラスから直接継承する非抽象クラスでキーワードをオーバーライドする必要があります。
  • 抽象基本クラスは、その宣言で「abstract」キーワードを使用して作成され、「new」キーワードを使用した直接開始を防ぐために使用されます。これらは、抽象メソッドを実装する派生クラスを介してのみ使用できます。
  • 基本クラスは、すべてのメンバーを「sealed」として宣言することにより、他のクラスがそれから継承するのを防ぐことができます。
  • 基本クラスのメンバーは、キーワード「new」を使用して派生クラスで非表示にでき、メンバーが基本メンバーのオーバーライドを意図していないことを示します。 「new」が使用されていない場合、コンパイラは警告を生成します。

基本クラスとインターフェースは同じ意味で使用できますが、バージョン管理の観点からは、クラスはインターフェースよりも柔軟です。基本クラスは、次のシナリオを除き、ほとんどの場合に優先されます。


  • いくつかの無関係なクラスが派生クラスのベースを形成します
  • クラスはすでに基本クラスを確立しています
  • 集約は適切または実用的ではありません
この定義はC#のconで書かれています