Pythonの学習の継承とポリモーフィズム

!/ホーム/ミャオ族/パイソンのpython3 - * -コーディング:UTF-8 - * -



これは、継承とポリモーフィズムについてです


クラスの親(オブジェクト):
     デフ __init__ (自己、氏名、年齢):
        自己。__name = 名前
        self.age = 年齢

    デフget_name(自己):
         プリント(自己__name 

    デフSET_NAME(自己、名):
        自己。__name = 名前は
     DEF (自己)を実行します。
         プリント' お父さんが実行されています... ' 

クラスChildOne(親):
     DEF RUN(セルフ):
         印刷子供が実行されている... 独自の定義されたデータ型であるChildOneクラスは親クラスから前記定義された機能を継承し、の定義で場合可変パラメータChildOneの種類再通過する 
親が親=(AA 、45 

印刷(parent.age)
 = ChildOne(' BB '、23 

印刷(child.age)

child.get_name()
child.set_name(' ミャオ族' 
child.get_name()


クラス・ドッグ(オブジェクト):
     デフ __init__ (自己、氏名、年齢):
        self.name = 名前
        self.age = 年齢
     デフget_name(自己):
         プリント(self.name)
     デフ実行します(自己):
         プリント' 犬が実行されています... ' 
 =犬(' CC '、10 

デフprint1_twice(親):
    parent.get_name()
    parent.get_name()
親クラスの型から継承された多型は、直接使用することができます。サブクラスは親のタイプで、
#のことはしない@それは関数となるので、ノートここで、変数が渡されたので、私は括弧の後に追加の非常に重大なミス変数を作った
(子供)print1_twice
 #のprint1_twice(親を() )このような
#1 get_nameを有する同様のタイプ(つまり姿勢を歩くと同様である)限り、()関数は、アヒルのように見られたがget_nameとして、アヒルのような姿勢がアヒルであるダックタイピング
#1 print1_twice(犬())

 

おすすめ

転載: www.cnblogs.com/miaorn/p/11628067.html