在我所在的工作场所(仅使用PHP),我们有一个用于数据库抽象的基类。 当您想要将新的数据库表添加到基础层时,您必须创建此基类的一个子类并覆盖一些方法以定义使用此表的个性化行为。 正常的行为应该保持不变。
现在,我看到了很多新程序员在我们公司,他们只是覆盖默认行为的方法。 有些人非常“友好”,将所有的默认行为放在那里,并在他们喜欢的地方添加了他们自己的东西,其他人则试图使用基类和它们的继承者而痛苦万分。
解决这个问题的第一个想法是考虑由继承类重写的抽象方法。 但是除了其他反对抽象方法的论据之外,“抽象”根本不能说明为什么基类不能单独使用以及为什么这些函数应该被重写。
经过一番搜索,我没有找到在PHP中实现“真正的”虚拟函数的好方法(只有一个虚拟函数,几乎让所有具体实现的希望破灭)。
那么,您会如何处理这个问题?
现在,我看到了很多新程序员在我们公司,他们只是覆盖默认行为的方法。 有些人非常“友好”,将所有的默认行为放在那里,并在他们喜欢的地方添加了他们自己的东西,其他人则试图使用基类和它们的继承者而痛苦万分。
解决这个问题的第一个想法是考虑由继承类重写的抽象方法。 但是除了其他反对抽象方法的论据之外,“抽象”根本不能说明为什么基类不能单独使用以及为什么这些函数应该被重写。
经过一番搜索,我没有找到在PHP中实现“真正的”虚拟函数的好方法(只有一个虚拟函数,几乎让所有具体实现的希望破灭)。
那么,您会如何处理这个问题?