Python是崇尚鴨子類型的語言

  • 封裝,繼承,多態是面向對象的三大特徵。
  • 在Python的面向對象中,如果定義的若干個對象都有同一個方法(比如下面的say方法),那麼無論他們是否繼承同一個父類,他們都可以統一通過方法的調用(say方法的調用)實現。
"""
定義是的類型和運行時的類型不一樣,就是多態的體現
Python崇尚鴨子類型
"""
class Cat(object):
    def say(self):
        print("i am Cat")


class Dog(object):
    def say(self):
        print("i am Dog")


class Duck(object):
    def say(self):
        print("i am Duck")


# 以上定義了三個類
animal_list = [Cat, Dog, Duck]    # 這裏將三個封裝好的類分別作爲animal_list的三個元素

for animal in animal_list:    # animal_list是一個列表,是可迭代的對象
    animal().say()            # animal()是實例化對象的過程,然後分別調用 Cat, Dog, Duck的say方法
發佈了11 篇原創文章 · 獲贊 6 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章