Pythonによる継承のデモンストレーション


# 親クラス
class Animal:
    def __init__(self, name):
        self.name = name
    def speak(self):
        raise NotImplementedError("サブクラスで実装してください。")
# 子クラス
class Dog(Animal):
    def speak(self):
        return "ワンワン"
# 子クラス
class Cat(Animal):
    def speak(self):
        return "ニャー"
# 子クラス
class Cow(Animal):
    def speak(self):
        return "モーモー"
# 子クラス
class Duck(Animal):
    def speak(self):
        return "ガーガー"
# インスタンス化と使用
dog = Dog("ポチ")
print(dog.name + ": " + dog.speak())
cat = Cat("タマ")
print(cat.name + ": " + cat.speak())
cow = Cow("モーリー")
print(cow.name + ": " + cow.speak())
duck = Duck("ドナルド")
print(duck.name + ": " + duck.speak())

このコードでは、Animalという親クラスを定義し、DogCatCowDuckといった子クラスを作成しています。子クラスは親クラスの特性を継承し、speakメソッドをオーバーライドしてそれぞれの動物の鳴き声を返します。

インスタンス化した子クラスのオブジェクトを使用すると、それぞれの動物の名前と鳴き声が表示されます。この例では、Dogクラスのインスタンス dog の名前が "ポチ" で、speakメソッドが "ワンワン" を返すため、"ポチ: ワンワン" と出力されます。

継承を使用すると、共通の機能を持つクラスを効率的に作成できます。また、子クラスは親クラスのメソッドをオーバーライドすることで、独自の動作を追加できます。

以上が、Pythonで継承をデモンストレーションするコード例となります。この例を参考にして、継承の概念を理解し、自分自身でさまざまなクラス階層を作成してみてください。