オブジェクト指向における継承とは

記事内に広告が含まれています。

オブジェクト指向プログラミングは、ソフトウェア開発の現場で広く利用されている概念です。

本記事では、オブジェクト指向の三大原則の一つである「継承」について、初心者にも分かりやすく説明します。

Java、C++、C#、VB.NETのサンプルコードを用いて具体的な例も紹介しますので、継承の概念をしっかり理解できます。

継承とは

継承とは、既存のクラス(親クラスまたはスーパークラス)から新しいクラス(子クラスまたはサブクラス)を作り出す機能のことです。

この仕組みにより、既存のクラスの機能をそのまま使いつつ、追加や変更を加えることができます。

Javaでの継承のサンプルコード

以下は、Javaにおける継承のサンプルコードです。


// 親クラス
class Animal {
    void sound() {
        System.out.println("Some sound");
    }
}

// 子クラス
class Dog extends Animal {
    void sound() {
        System.out.println("Bark");
    }
}

public class Main {
    public static void main(String[] args) {
        Animal myDog = new Dog();
        myDog.sound(); // "Bark"が出力される
    }
}

C++での継承のサンプルコード

以下は、C++における継承のサンプルコードです。


// 親クラス
class Animal {
public:
    virtual void sound() {
        std::cout << "Some sound" << std::endl;
    }
};

// 子クラス
class Dog : public Animal {
public:
    void sound() override {
        std::cout << "Bark" << std::endl;
    }
};

int main() {
    Animal* myDog = new Dog();
    myDog->sound(); // "Bark"が出力される
    delete myDog;
    return 0;
}

C#での継承のサンプルコード

以下は、C#における継承のサンプルコードです。


// 親クラス
class Animal {
    public virtual void Sound() {
        Console.WriteLine("Some sound");
    }
}

// 子クラス
class Dog : Animal {
    public override void Sound() {
        Console.WriteLine("Bark");
    }
}

class Program {
    static void Main(string[] args) {
        Animal myDog = new Dog();
        myDog.Sound(); // "Bark"が出力される
    }
}

VB.NETでの継承のサンプルコード

以下は、VB.NETにおける継承のサンプルコードです。


' 親クラス
Public Class Animal
    Public Overridable Sub Sound()
        Console.WriteLine("Some sound")
    End Sub
End Class

' 子クラス
Public Class Dog
    Inherits Animal
    Public Overrides Sub Sound()
        Console.WriteLine("Bark")
    End Sub
End Class

Module Program
    Sub Main()
        Dim myDog As Animal = New Dog()
        myDog.Sound() ' "Bark"が出力される
    End Sub
End Module

まとめ

オブジェクト指向プログラミングにおける「継承」は、コードの再利用性を高め、保守性を向上させる強力な機能です。

Java、C++、C#、VB.NETなど、多くのプログラミング言語でサポートされており、親クラスの機能を活用しつつ、子クラスで独自の振る舞いを追加できます。

プログラムの設計を効率化し、開発をよりスムーズに進めるためには、継承の理解が不可欠です。

オブジェクト指向3つの原則
オブジェクト指向プログラミングは、現代のソフトウェア開発において最も重要な考え方の一つです。その基本的な原則であるカプセ...
【PR】
オブジェクト指向学習におすすめの本
オブジェクト指向
スポンサーリンク
タイトルとURLをコピーしました