クラスとは、pythonでデータ処理をする時のテンプレートです。
クラスの継承とは、テンプレートの再利用です。
既に作ったテンプレートを再利用して新しいテンプレートを作るイメージです。
【この記事はこんな方に向けて書いています】
・pythonのクラスについて勉強したい
・クラスの継承について勉強したい
【目次】
・クラスの継承
・子クラスでメソッド定義
・子クラスのインスタンス化
・子クラスのメソッドを呼び出す
・子クラスから親クラスのメソッドを呼び出す
・オーバーライド
・まとめ
クラスについては、こちらの記事で簡単に解説していますのでよければご覧下さい。
上記の記事で作ったクラス(テンプレート)がこちらです。
既に作ったお祝いメッセージを取得するクラスを再利用する時は
class 子クラス名(親クラス名)
と記述します。
新しいクラスを「子クラス」、元のクラスを「親クラス」と言います。
このように親クラス(celebration)を、子クラス(season)に継承します。
「pass」の記述は、まだ処理することがない時に書きます。
子クラス(season)でも、メソッドを定義してみます。
#autumnメソッド:autumnメソッドを呼び出すと「綺麗な紅葉の季節ですね」と出力するように定義します。
次に子クラスをインスタンス化します。
インスタンス化とは、クラスを使うために実体化するイメージです。
変数season1に、子クラスseasonを代入します。
これで子クラスseasonのインスタンス化ができました。
たこ焼き器から、たこ焼きができたとイメージすると理解しやすいかと思います。
子クラスseasonのインスタンス化ができたので、子クラスで定義したautumnメソッドを呼び出してみます。
autumnメソッドを呼び出すと「綺麗な紅葉の季節ですね」と出力するように定義しておいたので、autumnメソッドを使ってメッセージが取得できました。
子クラスから親クラスのメソッドを呼び出す時は
インスタンス化した子クラス名.親クラスのメソッド
と記述します。
インスタンス化した子クラス名とは、上記の「season1」です。
親クラスで定義したmarriageメソッドを、子クラスから呼び出してみます。
marriageメソッドを呼び出し、お祝いメッセージが取得できました。
オーバーライドとは、上書きのことです。
親クラスで定義したメソッドと同じものを子クラスで再定義すると、メソッドが上書きされます。
ここでは、親クラスのmarriageメソッドをオーバーライドしてみます。
#オーバーライド:marriageメソッドを呼び出すと「披露宴楽しみにしています」と出力するように再定義します。
再度、子クラスseasonをインスタンス化します。
再定義したmarriageメソッドを、子クラスから呼び出してみます。
marriageメソッドをオーバーライドできました。
まとめ
・クラスとは、pythonでデータ処理をする時のテンプレート
・クラスの継承とはテンプレートの再利用
・オーバーライドとは上書きのこと
ここまで読んで頂きありがとうございました。
-------------------------------------------------------------------------------------
当ブログの記事一覧(カテゴリー別)