オブジェクト指向プログラミングは、ソフトウェア開発の現場で広く利用されている概念です。
本記事では、オブジェクト指向の三大原則の一つである「継承」について、初心者にも分かりやすく説明します。
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つの原則
オブジェクト指向プログラミングは、現代のソフトウェア開発において最も重要な考え方の一つです。その基本的な原則であるカプセ...