我有一个基类(PrintProviderBase
)。它拥有一些状态(PrinterUnavailable
, NoPaper
, ...)。
然后我从这个类继承: ColorPrintProvider
, BlackAndWhitePrintProvider
...
我假设如果基类具有这样的属性:
private PrintStateEnum State { get; set; }
然后每个子类(不同的打印提供者)都有自己的状态(尽管没有什么是静态的)。似乎base
该类的一个实例在它们之间共享,而我的意思是在每个子类中都有一个副本,base class
以便可以将通用功能和状态封装到base class
.
现在,如果打印提供商进入NoPaper
状态,其他提供商会由于状态不正确而停止打印。我怎样才能改变这种行为?