0オブジェクト指向型のプログラミング言語を扱っていると、「継承」という操作が出てきます。いう話を解説していきます。いう話について詳しくはこちら。まとめクラスの継承とは?「継承」は、あるクラスの機能を引き継いで、新しいクラスを作成することです。「トラック」と「バス」クラスを作成する例で考えてみます。それぞれのクラスでは、「残りの燃料」や「走行距離」といった属性(プロパティ)を持っていることや、「走る」「ガソリンを入れる」などの操作(メソッド)は共通しています。このような場合に「継承」が使えます。具体的に言うと、新しく「車」クラスを作成し、その中に共通する属性や操作を書きます。「トラック」と「バス」クラスは「車」クラスの機能を引き継いで作成します。継承元のクラス(今回の場合は「車」クラス)は「スーパークラス」、継承先のクラス(今回の場合は「トラック」と「バス」クラス)は「サブクラス」と呼ばれています。メモ「スーパークラス」-「サブクラス」以外に、「基底クラス」-「派生クラス」、「親クラス」-「子クラス」と呼ばれることもあります。「継承」のメリットもし「継承」という概念が用意されていない場合は、新しくブレーキの機能を追加したいとなったときに、乗り物に関する個別のクラスそれぞれに属性や操作を追加する必要があります。修正したりするときに、ひとつひとつのクラスを修正する必要が出てきてしまいます。「車」クラスのように基盤となるクラスを置いておくことで、「ダンプカー」クラスのような新たな乗り物を最小限の手間で作成することが可能となります。まとめると、継承を用いることで、コードの追加・修正といったメンテナンスが容易になります。抽象的な共通する機能をまとめておくことで、コードが読みやすくなったり、既存のコードを使いまわしやすくなったりします。継承のルール細かい挙動はプログラミング言語によって違いますが、ここでは継承の一般的な特徴をまとめていきます。実際に継承を行なっているプログラムはこちら。サブクラスへメソッドを追加して拡張できるサブクラスには、スーパークラスにはない新たなメソッドを追加することができます。これでサブクラスでは、スーパークラスのメソッドだけでなく、新たに追加したメソッドも使えるようになります。「走る」というメソッドを持つ「車」クラスを継承して「トラック」クラスを作成したとします。「トラック」クラスに新しく「荷物を載せる」メソッドを追加しました。すると「トラック」クラスでは、「走る」と「荷物を載せる」メソッドが使えるようになります。スーパークラスのメソッドを上書き(オーバーライド)できるサブクラスでは、スーパークラスのメソッドを上書きして定義し直すことができます。これをオーバーライドと言います。「走る」というメソッドを持つ「車」クラスを継承して「トラック」クラスを作成したとします。「トラック」クラスでは同じ名前の「走る」メソッドを追加(オーバーライド)しました。すると「トラック」クラスの「走る」メソッドを呼び出したときは、上書きした「トラック」クラスの処理が実行されます。スーパークラスのメソッドの処理を、オーバーライドしたメソッドに取り込んで、そこに新しい処理を加えることもできます。継承できるクラス(スーパークラス)は1つまでです。複数のクラスを継承して新しいクラスを作成することはできません。いった多重継承ができる言語も存在していますが、プログラムが複雑になるため、使わないようにするケースも多いです。まとめ以上、クラスの継承についての解説でした!ここまでの内容をまとめておきます。「継承」は、あるクラスの機能を引き継いで、新しいクラスを作成すること。継承元のクラスは「スーパークラス」、継承先のクラスは「サブクラス」と呼ばれる。継承を用いることで、コードの追加・修正といったメンテナンスが容易になったり、より抽象的な共通する機能をまとめておけるので、コードが読みやすくなったり、既存のコードを使いまわしやすくなったりするメリットがある。サブクラスにメソッドを追加することで、スーパークラスにはない機能を拡張できる。サブクラスでは、スーパークラスにあるメソッドと同じ名前のメソッドを作成(オーバーライド)することで、スーパークラスのメソッドを上書きして定義し直すことができる。継承できるクラス(スーパークラス)は1つまで。フリーランスエンジニア。複数のスタートアップ企業でウェブサービス開発に参画。その後、会社創業期の開発マネージャーの経験を経てフリーランスに。プログラムや文章を書いて暮らしています。