添加方法

  • 也可以在子類別加入父類別沒有的方法
  • 在子類別定義新方法
>>> class 父類別名稱():
        def 函式名稱1(self):
            print("字串1")

# 在子類別定義新方法
>>> class 子類別名稱(父類別名稱):
        def 函式名稱1(self):
            print("字串2")
        def 函式名稱2(self):
            print("字串3")

>>> 文字1 = 父類別名稱()
>>> 文字2 = 子類別名稱()

# 「子類別物件」可對「新函式方法」的呼叫式做出反應
# 「子類別」可以做些「父類別」無法做到的事情,可以清楚地看到「父類別」與「子類別的差異」
>>> 文字2.函式名稱2()
字串3

# 但通用的「父類別物件」不行
>>> 文字1.函式名稱2()
錯誤
>>> class Car():
    def exclaim(self):
        print("I'm a Car!")

# 在 Yugo 類別定義新方法 need_a_push()
>>> class Yugo():
    def exclaim(self):
        print("I'm a Yugo! Much like a Car, but more Yugo-ish.")
    def need_a_push(self):
        print("A little help here?")

# 接下來,製作一個 Car 與一個 Yugo
>>> give_me_a_car = Car()
>>> give_me_a_yugo = Yugo()

# Yugo 物件可對 need_a_push() 方法的呼叫式做出反應
>>> give_me_a_yugo.need_a_push()
A little help here?

# 但通用的 car 物件不行
>>> give_me_a_car.need_a_push()
Traceback (most recent call last):
  File "<pyshell#36>", line 1, in <module>
    give_me_a_car.need_a_push()
AttributeError: 'Car' object has no attribute 'need_a_push'

# 此時,Yugo 可以做些 Car 無法做到的事情,可以清楚地看到 Yugo 的差異

results matching ""

    No results matching ""