さあ、継承がどんなものか分かったところで、実際に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
これで、どんな風にクラスを継承させるかが分かったかな?この書き方を覚えて、いろんなクラスを作ってみようね!