python的虛方法怎么實(shí)現(xiàn)

小億
110
2023-09-13 13:10:32
欄目: 編程語言

在Python中,可以通過在父類中定義一個(gè)方法,并在方法前加上@abstractmethod裝飾器來創(chuàng)建一個(gè)虛方法。虛方法是一種需要子類實(shí)現(xiàn)的抽象方法,父類不能直接調(diào)用虛方法。

以下是一個(gè)示例:

from abc import ABC, abstractmethod
class MyBaseClass(ABC):
@abstractmethod
def my_virtual_method(self):
pass
class MySubClass(MyBaseClass):
def my_virtual_method(self):
print("子類實(shí)現(xiàn)了虛方法")
# 創(chuàng)建子類實(shí)例并調(diào)用虛方法
obj = MySubClass()
obj.my_virtual_method()

在上述示例中,MyBaseClass是一個(gè)包含虛方法的抽象基類。其中的my_virtual_method方法被加上了@abstractmethod裝飾器,表示這個(gè)方法是一個(gè)虛方法,需要在子類中進(jìn)行具體實(shí)現(xiàn)。

MySubClass繼承自MyBaseClass,并實(shí)現(xiàn)了虛方法my_virtual_method。通過創(chuàng)建MySubClass的實(shí)例并調(diào)用my_virtual_method,就可以執(zhí)行子類中的具體實(shí)現(xiàn)。

如果在子類中沒有實(shí)現(xiàn)虛方法,那么在創(chuàng)建子類實(shí)例并調(diào)用虛方法時(shí),會(huì)引發(fā)TypeError異常。

0