純粹記錄一下,讓自己知道曾經犯過這個錯。類別裡的 method 名稱加上 __ 就是 private,所以,子類別並不會知道有這個 method,也不會發生 Method overriding。
class Rectangle: def __init__(self): self.parse() self.__parse() def parse(self): print("parse(): Rectangle") def __parse(self): print("__parse(): Rectangle") class BoxType(Rectangle): def parse(self): print("parse(): BoxType") # 不會被執行到!! def __parse(self): print("__parse(): BoxType") b = BoxType() # Output: # parse(): BoxType # __parse(): Rectangle
就這樣…