継承は、効率的かつ再利用可能な形でコードを実装することを可能にする、オブジェクト指向プログラミングの基本概念です。このガイドでは、継承の意味だけでなく、実際にどのように実装するかを学びます。C#で基本クラスとそれに関連するサブクラスを作成することに焦点を当てています。それでは、手順に直接入っていきましょう。
主なポイント
- 継承は、サブクラスが基本クラスのプロパティとメソッドを引き継ぐことで、コードの再利用を可能にします。
- 「private」や「protected」などのアクセス修飾子は、どのクラスがどのプロパティにアクセスできるかを制御します。
- コンストラクタの定義と実装は、サブクラスにとって不可欠です。
- サブクラスは、基本クラスのメソッドをオーバーライドしたり、補完したりして、特定の特性に合わせることができます。
ステップバイステップガイド
基本クラスの作成
継承を始めるために、最初に基本クラス「Auto」を作成します。これは、新しいクラスをプロジェクトに作成し、「Auto」と名付けることで実行できます。このクラスには、乗用車とトラックの両方に共通する特性が含まれます。

この基本クラスでは、すべての車両に適用されるプロパティを定義します。これには、モデル、タンクの内容、消費量、走行コストなどが含まれます。また、このクラスを抽象として設定して、オブジェクトをそのクラスのインスタンス化できないようにします。
プロパティとコンストラクタの定義
now it’s time to define specific properties in the Auto class. protected アクセス修飾子を使用して、サブクラスがこれにアクセスできるようにします。
次に、基本クラスのプロパティを初期化するコンストラクタを作成します。これにより、これらの共通要素に基づいて新しいサブクラスのオブジェクトを作成できるようになります。
サブクラスの作成
基本クラス「Auto」の定義が完了したら、サブクラス「PKW」と「LKW」を作成できます。これらのサブクラスは「Auto」からプロパティを継承し、特定の特徴を追加できます。PKWを作成するには、新しいクラスを作成し、それが「Auto」から継承していることを指定します。

サブクラス「PKW」に追加のプロパティ
「PKW」クラスで、さらに特定の属性を定義できます。たとえば、PKWには高速道路走行に必要なビニエットが必要です。
このため、基本クラスとサブクラスの特定の属性の両方の値を初期化するコンストラクタが必要です。
特定のメソッドの実装
サブクラスを作成した後、走行コストを計算するための特定のメソッドを作成します。このメソッドはオーバーロードでき、基本クラスからの基本計算と、サブクラスの特定の属性に基づく追加計算の両方を実行します。
作成したクラスの利用
クラスの実装が完了したら、最後にこれらのサブクラスのオブジェクトをインスタンス化する必要があります。これにより、実装した機能をテストできます。
まとめ - プログラミングにおけるC#の継承の基本を理解する
継承は、オブジェクト指向プログラミングにおける重要な概念であり、コードを効率的に構造化し、メンテナンスの手間を最小限に抑えることができます。基本クラスとサブクラスを作成することで、さまざまな車両タイプに対する明確な階層と特定のプロパティ、メソッドを定義できます。プロパティとメソッドを基本クラスに設定し、サブクラスがそれを継承または機能拡張できる方法を学びました。
よくある質問
オブジェクト指向プログラミングにおける継承の利点は何ですか?継承は、コードの再利用を可能にし、メンテナンスを容易にし、明確な階層を作成します。
抽象クラスとは何ですか?抽象クラスは、インスタンス化できず、他のクラスの基本クラスとして使用されるクラスです。
アクセス修飾子はどのように定義しますか?アクセス修飾子は、クラス定義のプロパティやメソッドの前に指定されます。たとえば、public、private、またはprotectedです。
サブクラスでメソッドを調整するにはどうすればよいですか?サブクラス内でメソッドをオーバーライドすることで、その機能性を調整または拡張できます。
サブクラスのためにコンストラクタを作成するにはどうすればよいですか?サブクラス内でコンストラクタを定義し、基本クラスのコンストラクタを呼び出し、サブクラスの特定のプロパティを初期化できます。