某软件公司开发了一组加密类,在使用这些加密类时欲采用简单工厂模式进行设计,为了减少类的个数,将工厂类和抽象加密...
某软件公司开发了一组加密类,在使用这些加密类时欲采用简单工厂模式进行设计,为了减少类的个数,将工厂类和抽象加密类合并,基本UML类图如下图所示,下列说法正确的是()

A.在类图中,Cipher类既充当抽象产品类,又充当工厂类
B.工厂方法createCipher()的返回类型为Cipher
C.工厂方法createCipher()应定义为静态方法
D.Cipher类中的encrypt()方法必须为抽象方法