見出し画像

36歳が初めてプログラムを勉強してみる(26日目)

今日もpaizaでPythonの勉強しました。

今日学んだことです。

【学んだこと】

・クラスの継承を学んだ

次のようなことをやりました。

【やったこと】

クラスの継承を学んだ

今回はクラス継承について学びました。

クラスの継承とはクラスから別のクラスの特徴を使用することができる機能です。

分かりやすく言うと、ルーティンというクラスがあり、その中に「習慣」、「セルフコントロール」というメソッドがあるとします。

そのルーティンクラスの「習慣メソッドを別のクラスで使いたい」といった時にクラスの継承を利用します。

呼び出される継承元のクラスのことを「親クラス」、「スーパークラス」と呼び、呼び出す継承先のクラスのことを「子クラス」、「サブクラス」と呼びます。

クラスの継承を使うときは、サブクラスの引数にスーパークラスのクラス名を指定するだけです。

【クラス継承方法】

#スーパークラス
class クラス名:
 def __init__(self, 変数名1, 変数名2):
  self.変数名1 = 変数名1
  self.変数名2 = 変数名2

 def メソッド名1(self):
  print(self.変数名1)

#サブクラス
class クラス名(スーパークラス名):
 def メソッド名(self):
  print(self.__変数名3)

インスタンス名 = サブクラス名()
サブクラス名.スーパークラスのメソッド()

それでは実際のコードを見ていきましょう。

--コード--
class Routine:
 def __init__(self):
     self.kintore = "筋トレ"
     self.mindfullness = "マインドフルネス瞑想"

 def say_routine(self):
     print("ルーティンとして" + self.kintore + "と" + self.mindfullness + "をする")

class Shukan(Routine):
 def say_shukan(self):
     print("毎日の習慣で" + self.kintore + "をする")

shukan = Shukan()

shukan.say_routine()
shukan.say_shukan()


--出力結果--
ルーティンとして筋トレとマインドフルネス瞑想をする
毎日の習慣で筋トレをする

このコードでは、スーパークラスとして「Routine」を作っています。
Routineクラスの中には、「kintore」変数と「mindfullness」変数を作成し、また、「Shukan」メソッドを作成しています。その中で、print関数で、「kintore」変数を呼び出しています。

次にサブクラスとして「Shukan」を作っています。
このクラスでは、「say_shukan」というメソッドを作成し、print関数で、スーパークラスの変数「skintore」を呼び出しています。

そして、サブクラスの「Shukan」から、「shukan」インスタンスを作成し、「say_routine」メソッドと、「say_shukan」メソッドを呼び出しています。

このように、クラスの継承を使うことによって、サブクラスから、スーパークラスのメソッドが呼び出せるようになります。

本日はここまでです。

以上です。ありがとうございました。

この記事が気に入ったらサポートをしてみませんか?