OOP_PHP-类a的实例和从类a继承的空类B之间的差异


OOP_PHP - Difference between an Instance of a classA and an empty classB that inherits from classA

如果classA是完全公共的。我需要知道有什么不同。换句话说。当(从完全公共的类A扩展一个空的类B)而不是(使用该类A的实例)时,我得到了什么好处。反之亦然。。

可能有几种情况。

  1. 重构时,您需要重命名类,但要保持遗留代码的工作状态
  2. 当类型被用作鉴别器时,这是一个例外
  3. 这是一个别名。例如,mysql有同义词tinyint(1)boolean

我认为可能会有更多的案例。

实际上,在功能上没有真正的区别。

也就是说,当你在后台阅读时,会有一小部分额外的加载时间(不值得担心)。

也就是说,为什么要通过一个空白的扩展类来运行代码?

将一个类扩展到另一个类的目的是为其他地方并不真正需要的部分添加扩展类中的功能。

例如,您有一个主要的数据库类,它涵盖了数据库连接和所有选择、插入等。

然后,数据库中就有了用户,您需要一些基于用户级别的附加功能。

与其为用户复杂化数据库类,不如将该类扩展到用户类中,然后您就可以在它上面使用新函数,而不必编辑第一个。