オブジェクト指向プログラミングしていると必ず聞くのが継承です。
継承とは、
あるクラスの機能を継承先で使えるようにする
しかしクラスの継承は少し難易度が高く、
継承して名のメリットがある?
と感じる方いると思います。
そのような問題を解決するために
・継承とは何か?
・継承のメリット
・継承の使い方(C#)
を解説していきます。
オブジェクト指向について詳しく知りたい方は以下の記事をご覧ください。
クラスの継承とは?
継承とは冒頭でも話した通り、あるクラスの機能を引き継ぎ使用することができるです。
例えば以下の例ですと、

車というクラスも枠組みだけでは車は動きません。
車を使うには主に、
- エンジン
- アクセル
- ブレーキ
が必要になります。
車を作るときに同時にエンジン、アクセル、ブレーキを作っていたら効率が悪いです。
そこで、エンジン、アクセル、ブレーキの機能はそれぞれでまとめて生産をし、車につけると効率も上がります。
これが継承になります。
それぞれ以下のように呼びます。
元のクラス(エンジン、アクセル、ブレーキクラス):基本クラス
引き継いだクラス(車クラス):派生クラス
クラスを継承する利点
継承の利点は以下の3つです。
- 継承することにより再定義しなくていい
- バグが出た場合の修正がしやすい
- コード量を減らすことができメンテナンスをしやすい
順に説明をしますと、
継承をすると継承先でも同じように機能を使うことができます。
再定義しなくても継承だけで機能が利用できるとても便利なものです。
バグが出た場合は基本的に継承元のクラスを修正するだけでOKなので、修正も楽になります。
最初に話した通り、再定義の必要がないのでコードの量は減ります。
コードの量が減ると、
メンテナンスがしやすくてコードもきれいに見える
という利点があります。
これだけでも継承を使ったほうがいいことが分かります。
クラスの継承をC#のコードで解説
ではここから実際にC#で継承を実装していきます。
以下のような例で実装します。
以下がソースコードになります。
class Program : Dog
{
static void Main(string[] args)
{
Console.WriteLine(Cry());
}
}
public class Dog
{
public static string cry;
public Dog()
{
}
public static string Cry()
{
cry = "ワンワン";
return cry;
}
}
以下が実行結果です。

継承はこのようにします。
Dogクラスで定義した「ワンワン」という鳴き声を派生クラス(Program.cs)で出力することができました。
今ではDogクラスを1つのクラスでしか継承していませんが、
これが2つ3つになってくると継承の便利さをより知ることができます。
まとめ【C#でのクラスの継承】
ここまで継承の解説をしてきました。
以下継承についてのまとめです。
- 継承することで再定義しなくてよくなる
- 継承によりメンテナンスが楽になる
- 機能を継承先でも利用できる
継承はオブジェクト指向では基本中の基本ですので覚えておくといいでしょう。
私(@detectivepgmer)は【初心者向け】の記事を書いていますのでこれからも参考にしていただけるとありがたいです。
最後まで読んでいただきありがとうございました。
コメント