【发布时间】:2021-07-18 09:25:37
【问题描述】:
我有一个python类,例如:
from abc import ABC, abstractmethod
class Drawing(ABC):
@abstractmethod
def draw(self):
pass
class Sketch(Drawing):
# overriding abstract method
def draw(self):
print("Drawing a sketch")
# Driver code
R = Sketch()
R.draw()
这是他想要达到的目标:
创建一个实现draw()接口的抽象绘图类。以 Sketch 类的形式开发 Drawing 类的子类。用 Sketchdraw 的消息让 draw() 接口更具体。
问题: 但我也想创建改变素描风格的装饰器(例如“铅笔素描”或“钢笔素描”)。 我的问题是我怎样才能做到正确,我在下面的代码中所做的是否正确?
class Drawing(ABC):
@abstractmethod
def draw(self):
pass
@abstractmethod
def drawPencil(self):
pass
@abstractmethod
def drawPen(self):
pass
class Sketch(Drawing):
def draw(self):
print("Drawing a sketch")
def drawPencil(self):
print("Drawing with pencil")
def drawPen(self):
print("Drawing with pen")
【问题讨论】:
标签: python inheritance abstract-class decorator python-decorators