我尝试使用策略设计模式在python中实现这个解决方案。我对OOP完全陌生,目前正在和我的教授一起研究这个问题。在
基本上,问题是要有一个抽象类(或者更确切地说是一个接口)和两个具体的子类(car和bus),它们的方法是“find()”,返回乘坐交通工具的成本。在它们返回各自的成本后,抽象父类将选择更便宜的交通工具并输出打印语句“I choose bus”。在
这是粗略的代码。感谢能帮助我的人!我相信我的代码在某个地方错了。在
from abc import ABCMeta, abstractmethod
class transporter(metaclass=ABCMeta):
'abstract parent class'
@abstractmethod
def find(self, cost):
pass
class car(transporter):
def find(self):
return "Cost of car travel is 50"
def cost(self):
return C = 50
class bus(transporter):
def find(self):
return"Cost of bus travel is 20"
def cost(self):
return B = 20
if __name__ == "__main__" :
find_car = car()
find_bus = bus()
find_car.cost().execute()
find_bus.cost().execute()
我不是设计模式专家,但我认为这更接近您的需要:
相关问题 更多 >
编程相关推荐