VB.NETの継承を完全ガイド!初心者でもわかる基本クラスと派生クラスの作り方
生徒
「VB.NETのクラスに“継承”ってありますよね?あれってどんなときに使うんですか?」
先生
「継承は、既にあるクラスを引き継いで新しいクラスを作る仕組みです。ソフト開発ではよく使われる重要な考え方ですよ。」
生徒
「引き継ぐって、どういうことですか?イメージが難しいです…。」
先生
「身近な例えを使って説明しながら実際のVB.NETコードも紹介しますね!」
1. VB.NETの継承とは?
VB.NETの継承とは、既にあるクラス(基底クラス)をもとに、機能を引き継いだ新しいクラス(派生クラス)を作る仕組みです。継承を使うことで、共通した性質や動きを持つクラスをまとめて扱えるようになります。
プログラミング未経験の方でもイメージしやすいように例えると、基底クラスは「親」、派生クラスは「子」の関係です。親が持っている特技や性格を子が自然と受け継ぐように、プログラムでも親クラスの機能をそのまま使うことができます。
たとえば「動物」という親クラスがあれば、「犬」「猫」「鳥」などはその子ども(派生クラス)として作れるイメージです。
2. 基底クラス(親クラス)を作ってみよう
まずは親となる基底クラスを作ります。ここでは「Animal」という動物クラスを作り、名前を表示する機能を持たせます。
Public Class Animal
Public Property Name As String
Public Sub ShowName()
Console.WriteLine("名前は " & Name & " です")
End Sub
End Class
基底クラスは、他のクラスが共通で使う機能をまとめたものです。このクラスをベースにして新しいクラスを作ると、機能をそのまま使えるようになります。
3. 派生クラス(子クラス)を作る方法
派生クラスを作るときは、VB.NETでは Inherits(インヘリッツ)を使います。Inheritsは「〜を受け継ぐ」という意味です。以下はAnimalクラスを継承したDogクラスです。
Public Class Dog
Inherits Animal
Public Sub Bark()
Console.WriteLine("ワンワン!")
End Sub
End Class
DogクラスはAnimalを継承しているので、Animalが持つNameプロパティやShowNameメソッドをそのまま使えます。そしてDog独自の機能(Bark)も追加できます。
4. 継承したクラスを使ってみよう
作った基底クラスと派生クラスを使って実行してみます。
Dim dog As New Dog()
dog.Name = "ポチ"
dog.ShowName()
dog.Bark()
名前は ポチ です
ワンワン!
このように、DogクラスはAnimalの機能も自分の機能も両方使えます。これが継承の最大のメリットです。
5. 継承が便利な理由を初心者向けに解説
継承はVB.NETのオブジェクト指向で特に重要な機能です。便利な理由をやさしく説明します。
① コードの重複を防げる
共通の機能を基底クラスにまとめておくことで、同じコードを何度も書く必要がなくなります。これはプログラムの整理整頓にとても役立ちます。
② 拡張性が高い
派生クラスでは、基底クラスの機能を残したまま、自分だけの機能を追加できます。「共通の土台の上に個性を追加する」イメージです。
③ 管理がしやすくなる
同じ性質のクラスを複数作るとき、基底クラスにまとめておけば変更も簡単です。動作の一部を改良したい場合、親を修正するだけで子クラス全部に反映されます。
6. 派生クラスでメソッドを追加するイメージを深めよう
派生クラスは、基底クラスをそのまま受け継ぐだけでなく、自分だけの特別な動きを入れることができます。たとえば犬なら吠える、猫なら鳴くなど、生き物によって違う動きを追加できます。
Public Class Cat
Inherits Animal
Public Sub Meow()
Console.WriteLine("ニャー!")
End Sub
End Class
こうして派生クラスを増やしていくと、動物園のようにたくさんのクラスが並んでいても管理がしやすくなります。
7. 基底クラスと派生クラスの関係をわかりやすくイラスト風に整理
継承を図でイメージするとこうなります。
<div>
Animal(基底クラス)
├─ Dog(派生クラス)
└─ Cat(派生クラス)
</div>
Animalが親となり、その性質をDogとCatが受け継いでいます。これがVB.NETの継承の基本的な考え方です。