基底クラス(スーパークラス)とは?オブジェクト指向プログラミングの階層構造
プログラミング言語において、オブジェクト指向プログラミングは主流となっています。オブジェクト指向プログラミングでは、クラスという概念を用いてプログラムを構築します。
クラスには、共通のプロパティとメソッドを持つオブジェクトを作成するためのテンプレートがあります。このクラスを継承することで、新しいクラスを作成することができます。この際に、継承元のクラスを「基底クラス(スーパークラス)」と呼びます。
例えば、動物クラスを作成し、そのクラスから継承して犬クラスを作成する場合、動物クラスが基底クラス(スーパークラス)となります。
“`python
class Animal:
def __init__(self, name, age):
self.name = name
self.age = age
def make_sound(self):
print(“animal sound”)
class Dog(Animal):
def __init__(self, name, age, breed):
super().__init__(name, age)
self.breed = breed
def make_sound(self):
print(“bark!”)
dog1 = Dog(“Pochi”, 3, “ShibaInu”)
print(dog1.name) # Output : Pochi
print(dog1.breed) # Output : ShibaInu
dog1.make_sound() # Output : bark!
“`
上記の例では、動物クラスから継承して犬クラスを作成しています。犬クラスは、動物クラスのプロパティであるnameとageを継承し、独自のbreedプロパティを持ちます。また、動物クラスに定義されているmake_soundメソッドを継承し、独自のbarkメソッドを定義しています。
基底クラス(スーパークラス)を継承することで、コードの再利用性を高めることができます。また、継承先のクラスで、独自のプロパティやメソッドを追加することで、より複雑な処理を実現することができます。
基底クラス(スーパークラス)と継承について、以上が解説です。