「Python」superで親クラスのコンストラクタを実行するサンプル
環境
PyCharm 2021.3
Python 3.9.7
書式
class クラスA:
def __init__(self, 変数1...):
class クラスB(クラスA):
def __init__(self, 変数1...):
super().__init__(変数1...)
class クラスA:
def __init__(self, 変数1...):
class クラスB(クラスA):
def __init__(self, 変数1...):
super().__init__(変数1...)
class クラスA: def __init__(self, 変数1...): class クラスB(クラスA): def __init__(self, 変数1...): super().__init__(変数1...)
superを利用して、親クラスのコンストラクタを使用します。
使用例
# coding: utf-8
#親クラス
class Parent:
def __init__(self, name,addr):
self.userName = name
self.addr = addr
#子クラス
class Child(Parent):
def __init__(self, name,addr):
# superで親クラスのコンストラクタを実行
super().__init__(name,addr)
#親クラスのコンストラクタ
cft = Parent("山田 太郎","東京都 品川区")
print("ユーザー名: ")
print(cft.userName)
print("都市: ")
print(cft.addr)
# coding: utf-8
#親クラス
class Parent:
def __init__(self, name,addr):
self.userName = name
self.addr = addr
#子クラス
class Child(Parent):
def __init__(self, name,addr):
# superで親クラスのコンストラクタを実行
super().__init__(name,addr)
#親クラスのコンストラクタ
cft = Parent("山田 太郎","東京都 品川区")
print("ユーザー名: ")
print(cft.userName)
print("都市: ")
print(cft.addr)
# coding: utf-8 #親クラス class Parent: def __init__(self, name,addr): self.userName = name self.addr = addr #子クラス class Child(Parent): def __init__(self, name,addr): # superで親クラスのコンストラクタを実行 super().__init__(name,addr) #親クラスのコンストラクタ cft = Parent("山田 太郎","東京都 品川区") print("ユーザー名: ") print(cft.userName) print("都市: ") print(cft.addr)
実行結果
ユーザー名:
山田 太郎
都市:
東京都 品川区
ユーザー名:
山田 太郎
都市:
東京都 品川区
ユーザー名: 山田 太郎 都市: 東京都 品川区