1. 程式人生 > >2018-10-29學習python第九天

2018-10-29學習python第九天

min with 抽象 產生 父類 什麽 特定 class elf

1、多態

面向對象三大特性

  1. 封裝 根據 職責屬性方法封裝 到一個抽象的

    • 定義類的準則
  2. 繼承實現代碼的重用,相同的代碼不需要重復的編寫

    • 設計類的技巧
    • 子類針對自己特有的需求,編寫特定的代碼
  3. 多態 不同的 子類對象 調用相同的 父類方法,產生不同的執行結果

    • 多態 可以 增加代碼的靈活度
    • 繼承重寫父類方法 為前提
    • 是調用方法的技巧,不會影響到類的內部設計

1.1  多態案例

class Dog(object):
    def __init__(self, name):
        self.name = name
    def game(self):
        
print("%s 蹦蹦跳跳的玩耍..." % self.name) class XiaoTianDog(Dog): def game(self): print("%s 飛到天上去玩耍..." % self.name) class Person(object): def __init__(self, name): self.name = name def game_with_dog(self, dog): print("%s 和 %s 快樂的玩耍..." % (self.name, dog.name))
# 讓狗玩耍 dog.game() # 1. 創建一個狗對象 # wangcai = Dog("旺財") wangcai = XiaoTianDog("飛天旺財") # 2. 創建一個小明對象 xiaoming = Person("小明") # 3. 讓小明調用和狗玩的方法 xiaoming.game_with_dog(wangcai)

案例小結

  • Person 類中只需要讓 狗對象 調用 game 方法,而不關心具體是 什麽狗
    • game 方法是在 Dog 父類中定義的
  • 在程序執行時,傳入不同的 狗對象 實參,就會產生不同的執行效果

2、類屬性和類方法

2018-10-29學習python第九天