抽象類別 Abstract Class
抽象類別:不做實例的類別,給其他類別繼承用的基底類別base class。一個類別中有一個或一個以上的abstract method,那就數於abstract class。
抽象方法:只有內容沒有實作的方法。
from abc import ABCMeta, abstractmethod, ABC # abstract base class, ABC is helper class
# class Employee(ABC):
class Employee(metaclass=ABCMeta): # base class
@abstractmethod
def SayHi(self): # abstract method
pass
class Waiter(Employee)
def SayHi(self): # override
print('歡迎光臨')
waiter = Waiter()
waiter.SayHi() # 歡迎光臨
好處:定義藍圖後,所有的開發人員就有個開發方向依歸。