抽象類別 Abstract Class

抽象類別

Posted by 劉啟仲 on Wednesday, December 23, 2020

抽象類別 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() # 歡迎光臨

好處:定義藍圖後,所有的開發人員就有個開發方向依歸。