Pythonクラス
はじめに
個人レベルの備忘録
クラス作成、継承、オーバライドを簡単に行った。
class text_output1:
def __init__(self, x, y):
self.x = x
self.y = y
def announce(self):
print("xの値は", self.x)
print("yの値は", self.y)
print("この関数はtext_output1によるものです。")
t = text_output1(4,50)
メソッドオブジェクトを出力するとこんな感じになるので注意
する機会はないと思うが
print(t.announce)
出力
<bound method text_output1.announce of <__main__.text_output1 object at 0x7fc68035d2d0>>
メソッドオブジェクトを呼び出す
t.announce()
出力
xの値は 4
yの値は 50
この関数はtext_output1によるものです。
# 継承&オーバライド
class text_output2(text_output1):
def __init__(self, x, y, z):
super().__init__(x, y)
self.z = z
def announce_sub(self):
print("zの値は", self.z)
print("この関数はtext_output2によるものです。")
def announce(self):
print("この関数はtext_output1のannouceをオーバライドしたものです。")
t2 = text_output2(8, 100, 13)
t2.announce_sub()
t2.announce()
出力
zの値は 13
この関数はtext_output2によるものです。
この関数はtext_output1のannouceをオーバライドしたものです。