class Operate: def __init__(self): pass class Add(Operate): def result(self): return (self.a+self.b) class Subduct(Operate): def result(self): return self.a-self.b class Multiply(Operate): def result(self): return self.a*self.b class Divide(Operate): def result(self): return self.a/self.b class Factory: #简单工厂,实现各个类实例化交互的过程 def run(self): op = Operate #注意:a,b,operation都是运算父类Operate的 ‘类属性’ 这样其子类才能够直接调用,子类不能访问父类的实例属性 op.a = int(input('plz input the first number:')) op.operation = input('plz input operation like(+,-,*,/):') op.b = int(input('plz input the second number:')) if(op.operation == '+'): print(Add().result()) elif(op.operation == '-'): print(Subduct().result()) elif(op.operation == '*'): print(Multiply().result()) elif(operation == '/'): print(Divide().result()) Factory().run()