抽象類在Python中很常見,它是一種特殊的類,不能直接實例化,但是可以被其他類繼承。它的作用是提供一種抽象的接口,定義了一些必須要實現的方法,繼承者必須實現這些方法才能正常使用。
在Python中,抽象類通過abc模塊來實現。首先,我們需要導入abc模塊,然后使用abc.ABCMeta
來定義抽象類。
import abc
class AbstractClass(metaclass=abc.ABCMeta):
@abc.abstractmethod
def do_something(self):
pass
class ConcreteClass(AbstractClass):
def do_something(self):
print("ConcreteClass do something")
在上面的代碼中,AbstractClass
是一個抽象類,它定義了一個抽象方法do_something
,繼承者必須實現它。而ConcreteClass
則是一個具體類,它繼承了AbstractClass
并實現了do_something
方法。
現在我們來使用ConcreteClass
這個具體類:
obj = ConcreteClass()
obj.do_something()
上面的代碼輸出:
ConcreteClass do something
我們可以看到,通過ConcreteClass
來實現AbstractClass
中定義的抽象方法,可以正常使用。