【发布时间】:2009-01-25 19:00:06
【问题描述】:
我想完成这样的事情:调用一个方法,说“转”,然后将“转”以不同的方式应用于不同的数据类型,例如,用“螺丝刀”对象/参数调用“转” “turnScrewdriver”方法,使用“steeringWheel”对象/参数调用“turn”使用“turnSteeringWheel”方法等——正在做不同的事情,但它们都被称为“turn”。
我想实现这一点,以便调用代码不必担心所涉及的类型。在这个例子中,“turn”应该足以“转动”“screwdriver”、“steeringWheel”或任何可能需要“转动”的东西。
在 C++ 中,我会通过重载来做到这一点——C++ 会根据数据类型/签名对事情进行分类——但这在 PHP 中不起作用。
关于我应该从哪里开始有什么建议吗? switch 语句很明显,但我认为必须有一个(更优雅的)OO 解决方案。没有?
TIA
【问题讨论】:
标签: php oop overloading