親クラスと子クラスを作成し、子クラスから親クラスメソッド(関数)を呼び出してみます。
Pythonでは、子クラス(サブクラス、または派生クラスとも呼ばれる別のクラスから継承するクラス) が親クラス (継承元となるクラス、またスーパークラスと呼ばれるクラス)からプロパティを継承する概念がある。なお、プロパティは属性(共通して備わる性質や特徴)、または詳細なデータという認識である。
■Python
今回は、Google Colaboratoryを用います。Google ColaboratoryのPythonのバージョンは、記事作成時点では「3.7.13」となっています。
■親クラスと子クラスを作成し、親クラスメソッド(関数)を呼び出す
では、親クラスと子クラスを作成し、親クラスメソッド(関数)を呼び出してみます。
■コード
class Parent: #親クラス def show(self): print("親クラスです") class Child(Parent): #子クラス def display(self): print("子クラスです") object_test = Child() object_test.display() object_test.show()
今回はまずオブジェクトを作成するためのテンプレート(設計図)であるクラスでParentという親クラスを定義する。定義後、def文を用いて、showというメソッド(関数)を定義します。さらに括弧内には、特別な引数,パラメーターであり、オブジェクト自体を参照するために、self(自己)を記述します。記述後、このメソッド(関数)が呼び出された時に実行される処理を記述します。処理としてはprint()で日本語の文字列を出力させるというものです。
親クラスを定義後、次にテンプレート(設計図)であるクラスでChildという子クラスを定義します。括弧内には、プロパティを継承させるために、Parent(親クラス)を引数,パラメータとして渡します。その後、displayというメソッド(関数)を定義し、括弧内には、特別な引数,パラメーターであり、オブジェクト自体を参照するために、self(自己)を記述します。記述後、このメソッド(関数)が呼び出された時に実行される処理を記述します。処理としてはprint()で日本語の文字列を出力させるというものです。
子クラスを定義後、object_testという変数を定義し、その中に「Child()」を格納します。これでオブジェクトを作成するためのプロセスである「インスタンス化」が行われました。
インスタンス化を行った後に、オブジェクトに対してドット(.)演算子を用いて、内部のdisplay()を呼び出してみます。さらに、同じく作成したオブジェクトに対してドット(.)演算子を用いて親クラスのshow()を呼び出してみます。
■検証・実行
コードを記述後、セルを保存し、Google Colaboratory上でセルを実行してみます。
実行してみると、オブジェクトに対してドット(.)演算子を用いて子クラス内のメソッド(関数)と、親クラス内のメソッド(関数)にアクセスしてみたが、どちらもアクセスに成功し、処理結果が出力されることを確認できました。
コメント