Python的新手。尝试创建一个简单的示例,演示2个级别的抽象。 收到错误TypeError:“ HPNotebook”对象不可调用“
我浏览了无数示例,但仍然感到困惑。
要理解,我已经在代码中显示了3个级别。
您能指出我一个可以帮助解释此问题以及如何消除它的地方吗?
提供有关如何更正此问题的建议。
谢谢
from abc import abstractmethod,ABC #this is to allow abstraction. the ABC forces inherited classes to implement the abstracted methods.
class TouchScreenLaptop(ABC):
def __init__(self):
pass
@abstractmethod #indicates the following method is an abstract method.
def scroll(self): # a function within the parent
pass #specifically indicates this is not being defined
@abstractmethod #indicates the following method is an abstract method.
def click(self):
pass #specifically indicates this is not being defined
class HP(TouchScreenLaptop):
def __init__(self):
pass
@abstractmethod #indicates the following method is an abstract method.
def click(self):
pass
def scroll(self):
print("HP Scroll")
class HPNotebook(HP):
def __init__(self):
self()
def click(self):
print("HP Click")
def scroll(self):
HP.scroll()
hp1=HPNotebook()
hp1.click() #the 2 level deep inherited function called by this instance
hp1.scroll() #the 1 level deep inherited function called by this instance