継承と多態性

基本的な継承構文

さあ、継承がどんなものか分かったところで、実際にPythonでどうやって継承を書くのか、「基本的な継承構文」を見ていこうね。

継承の書き方は、とってもシンプルだよ。


# 親クラス(スーパークラス)を作るよ
class ParentClass:
    def parent_method(self):
        print("これは親クラスのメソッドだよ。")

# 子クラス(サブクラス)を作るよ。カッコの中に親クラスの名前を書くのがポイント!
class ChildClass(ParentClass): # ParentClassを継承しています
    def child_method(self):
        print("これは子クラス独自のメソッドだよ。")

# 子クラスのインスタンスを作ってみよう
my_object = ChildClass()

# 子クラスのインスタンスなのに、親クラスのメソッドが使えるよ!
my_object.parent_method() # 出力: これは親クラスのメソッドだよ。

# もちろん、子クラス独自のメソッドも使えるね!
my_object.child_method()  # 出力: これは子クラス独自のメソッドだよ。

重要なのは、子クラスの名前のすぐ後ろに、カッコ(())をつけて、その中に引き継ぎたい親クラスの名前を書くことだよ。これだけで、親クラスが持っているすべての属性やメソッドを、子クラスが使えるようになるんだ。

もし、どのクラスからも継承しない場合は、カッコをつけないか、objectというクラスを継承するよ(objectはすべてのクラスの元になっているクラスなんだ)。


class MyClass: # これでもOK
    pass

class MyClass2(object): # これもOK。Python3では書かなくても自動でobjectを継承するよ。
    pass

これで、どんな風にクラスを継承させるかが分かったかな?この書き方を覚えて、いろんなクラスを作ってみようね!