在我的工作地点(仅限PHP)我们有一个数据库抽象的基类。如果要将新数据库表添加到基础层,则必须创建此基类的子类并重写一些方法来定义使用此表的单个行为。正常的行为应该保持不变。在PHP中正确实现虚函数?
现在我看到很多新的程序员在我们公司,他们只是重写默认行为的方法。有些是非常“好”的,可以放入所有的默认行为,只需在那里添加他们喜欢的东西,其他人会自己尝试使用基类和它们的继承者。
我要解决这个问题首先想到的,还想着应该由继承类重写的抽象方法。但对抽象方法其他参数的旁边,“抽象”只是不显示为什么的基类不能被单独使用和为什么这些功能应该被重写。
经过一番周围的Googling我没有找到一个很好的答案实现在PHP中“真实”的虚拟功能(只是有一个虚函数,几乎杀死一个具体实现的希望)。
那么,你会怎么做这件事呢?
对不起,但我并不完全明白你的问题,当你说“虚拟函数”是你在谈论__call()和__callStatic()魔术方法吗?还是lambda函数? – 2009-08-29 01:35:23
我认为他意味着方法重写。 http://en.wikipedia.org/wiki/Method_overriding在C++中被称为虚函数。 – 2009-08-31 21:53:17