継承
クラス継承
継承はその名の通り、自分が持っているものを継承する概念です.
親(親、ベース、スーパークラス)がベースで、継承するクラスを子(子、派生クラス、子)と呼びます.class parent_class:
def __init__(self):
self.name = 'hyunsoo'
self.birthday = 930415
def p_print(self):
print(f"내이름은 {self.name}입니다.")
class child_class(parent_class):
def __init__(self):
super(child_class,self).__init__()
self.myname ='hyosung'
self.mybirthday=930111
child = child_class()
print(f"내 이름은 {child.myname}이고 내친구 {child.name}의 생일은 {child.birthday}이다")
child.p_print()
super(classname,self).Init():classnameに対応するクラスの親の感覚を継承する
super(classname,self).init(**kwargs):親のパラメータがinitパラメータの場合に使用される構文
python3.xバージョンではsuper()です.Init()のように使えますが、上の2です.xバージョンも互換性があるので,上記の構文を用いる汎用性は良好である.
overriding
クラスが継承されると、親クラスで定義されたメソッドが子クラスに変更されます.class parent_class:
def __init__(self):
self.name = "hyunsoo"
def birth_d(self,day):
print(f"{self.name}의 생일은 {day}이다")
class child_class(parent_class):
def __init__(self):
super(child_class,self).__init__()
self.myname = "taewoo"
def birth_d(self,day):
print(f"{self.myname}의 생일은 {day}이다")
child = child_class()
child.birth_d(930111)
print(child.name)
overloading
メソッドの関数名は同じですが、入力パラメータによって異なるメソッドが呼び出されます.
Pythonがオーバーロードをサポートせず、クラスに同じメソッド名が存在する場合、最後に定義されたメソッドが機能します.しかし他の言語ではよく使われる用語なので、知っておくといいでしょう.
Reference
この問題について(継承), 我々は、より多くの情報をここで見つけました
https://velog.io/@khs0415p/상속
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
class parent_class:
def __init__(self):
self.name = 'hyunsoo'
self.birthday = 930415
def p_print(self):
print(f"내이름은 {self.name}입니다.")
class child_class(parent_class):
def __init__(self):
super(child_class,self).__init__()
self.myname ='hyosung'
self.mybirthday=930111
child = child_class()
print(f"내 이름은 {child.myname}이고 내친구 {child.name}의 생일은 {child.birthday}이다")
child.p_print()
クラスが継承されると、親クラスで定義されたメソッドが子クラスに変更されます.
class parent_class:
def __init__(self):
self.name = "hyunsoo"
def birth_d(self,day):
print(f"{self.name}의 생일은 {day}이다")
class child_class(parent_class):
def __init__(self):
super(child_class,self).__init__()
self.myname = "taewoo"
def birth_d(self,day):
print(f"{self.myname}의 생일은 {day}이다")
child = child_class()
child.birth_d(930111)
print(child.name)
overloading
メソッドの関数名は同じですが、入力パラメータによって異なるメソッドが呼び出されます.
Pythonがオーバーロードをサポートせず、クラスに同じメソッド名が存在する場合、最後に定義されたメソッドが機能します.しかし他の言語ではよく使われる用語なので、知っておくといいでしょう.
Reference
この問題について(継承), 我々は、より多くの情報をここで見つけました
https://velog.io/@khs0415p/상속
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
Reference
この問題について(継承), 我々は、より多くの情報をここで見つけました https://velog.io/@khs0415p/상속テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol