添加方法
- 也可以在子類別加入父類別沒有的方法
- 在子類別定義新方法
>>> 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 的差異