ホームページ  >  記事  >  バックエンド開発  >  C# での継承

C# での継承

王林
王林オリジナル
2024-09-03 15:18:44985ブラウズ

C# における継承は、あるクラスのすべてのプロパティを別のクラスに取得するプロセスです。基本クラスと派生クラスと呼ばれる 2 つのクラスがあります。基本クラスは親クラスとも呼ばれ、このクラスのプロパティまたはメソッドを別のクラスに継承します。

派生クラスは、基本クラスまたは親クラスのプロパティとメソッドを継承するために使用される子クラスとして知られています。これは同じコードを再利用するのに役立ち、同じプロパティを何度も定義する必要がなくなります。

継承は、オブジェクト指向プログラミング言語の強力な概念または基本的な属性の 1 つです。これは、すべての OOP ベースのプログラミング言語で広く使用されています。その主な目的は、同じコードを再度使用することです。継承の基本構造の例を以下に示します:

class BaseClass { }
class ChildClass: BaseClass {}

C# における継承の種類

C# にはさまざまな種類の継承があります:

1.単一レベルの継承

単一継承では、基本クラスと派生クラスが 1 つだけ存在します。これは、子クラスが親クラスのプロパティを継承して使用することを意味します。

例:

class BaseClass
{
public void hello()
{
Console.WriteLine("Parent's Hello Method");
}
}
class ChildClass : BaseClass
{
public void World()
{
Console.WriteLine("Child's World Method");
}
}

2.多レベルの継承

このタイプの継承では、基底クラスは 1 つだけあり、複数の派生クラスが使用可能です。クラスが別の派生クラスを使用して作成される場合、それはマルチレベル継承と呼ばれます。

例:

class BaseClass
{
public void hello()
{
Console.WriteLine("Parent's Hello Method");
}
}
class ChildClass : BaseClass
{
public void World()
{
Console.WriteLine("Child's World Method");
}
}
class SecondChildClass : ChildClass
{
public void Hi()
{
}
}

3.多重継承

このタイプの継承では、クラスではなく、複数のインターフェースを使用してこれを実現できます。簡単に言うと、C# は多重継承をサポートしていませんが、それを実現したい場合は、インターフェイスのみを使用して実現できます。

例:

Interface A {}
Interface B {}
Class C: A, B {}

4.階層継承

このタイプの継承では、親クラスが 1 つあり、他の派生クラスは同じ親クラスを継承してこの継承を実現します。

:

class BaseClass
{
public void hello()
{
Console.WriteLine("Parent's Hello Method");
}
}
class ChildClass : BaseClass
{
public void World()
{
Console.WriteLine("Child's World Method");
}
}
class SecondChildClass : BaseClass
{
public void Hi()
{
}
}

C# における継承の利点

以下は、継承が与えられる利点です。

  • 同じコードを再度使用するのに役立ちます。つまり、コードの再利用が可能になります。
  • コードの冗長性が軽減されます。
  • コードをより快適に読むのに役立ちます。
  • ソース コードとファイルのサイズも削減されます。
  • コードに拡張性を提供するのに役立ちます。
  • コードは基本クラスと子クラスのクラス分けになっているので管理しやすいです。
  • 基本クラスのメンバーが派生クラスによって継承される場合、派生クラスではプライベート メンバーにアクセスできません。
  • 多重継承はサポートしていませんが、インターフェースを通じて実現できます。
  • これは、オブジェクトが複数の型を表現できるポリモーフィズムを実現するのに役立ちます。
  • 大きなコードを小さな部分に分割するのに役立ちます。

継承の特徴

次に、継承の機能について説明します。

  • 継承を使用すると、クラスの直接インスタンス化を防ぐことができ、これを実現するために、abstract キーワードが使用されています。
  • 基本クラスのメンバーは、秘密キーのメンバーを除き、派生クラスでアクセスできます。
  • 基本クラスのメンバーは、コンストラクターとデストラクターを除き、派生クラスにも継承できます。
  • C# では、基本クラスの仮想メソッドは派生クラスでオーバーライド キーワードを使用する必要があります。
  • C# では、sealed キーワードを使用して宣言できるクラスの継承を防止します。
  • 派生クラスで継承されたメンバーを同じ名前と署名で非表示にする必要がある場合は、そのメソッドを new キーワードを使用して定義する必要があります。

継承を使用する理由と、継承により作業がどのように簡単になるのか?

継承は、同じコードを別のクラスで使用する必要がある場合に使用されます。したがって、同じコードを何度も書く代わりに、あるクラスのメソッドやプロパティなどの同じ機能を別のクラスで使用するのに役立つ継承であるオブジェクト指向プログラミングの概念があります。セミコロン (:) を使用すると、基本クラスのメンバーを子クラスまたは派生クラスに継承できます。

どのクラスメソッドが呼び出されるのかというメソッド呼び出しの混乱を避けるのに役立つため、作業が容易になります。これによりコードが再利用可能になり、ソース コードの行数が減ってファイルが軽量になります。これにより、コードの冗長性が減り、さまざまなクラスでの使用がより柔軟になります。コードを読みやすくするプログラムの構造が維持されます。

結論

  • 継承は、すべての OOP ベースの言語および C# で最も広く使用されているオブジェクト指向プログラミングの概念です。これは開発者が多くのことを達成するのに役立ち、コードをよりスムーズで読みやすくします。
  • ポリモーフィズムは、継承のみを使用して達成できるもう 1 つのおっと概念です。これら 2 つの概念を連携させることで、ほとんどの問題が解決されました。
  • 継承では、基底クラスと派生クラスは、基底クラスに変更があるかのように緊密に結合されます。その後、自動的にすべての子クラスが影響を受けます。データ メンバーが適切に使用されずにメモリが割り当てられると、アプリケーションのパフォーマンスに影響を与えるため、継承は非常に慎重に使用する必要があります。
  • アプリケーションのプログラミングや開発では、さまざまなレベルの継承が使用されます。 Web ベースやデスクトップベースのアプリケーションなど、あらゆるタイプのアプリケーションに実装できます。継承は多くの柔軟性と機能を提供し、目的を達成するのに役立つため、継承をどこでどのように使用するかは開発者によって異なります。

以上がC# での継承の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。