親クラスと子クラスを作成し、子クラスから親クラスメソッド(関数)を呼び出す

スポンサーリンク

親クラスと子クラスを作成し、子クラスから親クラスメソッド(関数)を呼び出してみます。

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上でセルを実行してみます。

実行してみると、オブジェクトに対してドット(.)演算子を用いて子クラス内のメソッド(関数)と、親クラス内のメソッド(関数)にアクセスしてみたが、どちらもアクセスに成功し、処理結果が出力されることを確認できました。

コメント

タイトルとURLをコピーしました