對不起,我想不出一個更好的方式來標題!「傳遞」一個抽象方法的實現通過在Python中進一步下去?
基本上,我想一個抽象基類,則一個子類的一個不起實現抽象方法,則一個子類的該,其不實現該方法。這也可能是用一個例子更容易:
import abc
class A(abc.ABC):
def __init__(self, some_var):
self.some_var = some_var
@abc.abstractmethod
def some_method(self):
pass
class B(A):
def some_b_method(self):
print("Hello")
class C(B):
def some_method(self):
self.some_b_method()
print(self.some_var)
c = C('world')
c.some_method()
這是我怎麼會想到它的工作,但對於乙級以上pylint的報告warning 0223。
pylint的不給我任何問題,如果我修改乙類包括以下內容,但重複代碼似乎是錯誤的:
@abc.abstractmethod
def some_method(self):
pass
是否有一個「正確」的方法是什麼?我找不到答案。