首页 > 解决方案 > 在父类中调用方法是个坏主意吗?

问题描述

在现实世界的项目中,我们有一个相当长的 PHP 类,在重构过程中它被分解为 2 个较小的类,ClassA 和 ClassB,其中 ClassA 扩展了 ClassB(只是一个示例名称)。遗留代码存在一些问题,所以我们不得不这样做。

在 ClassB 中,我们从 ClassA 调用一些方法(它们没有被覆盖,我的意思是,方法在 ClassB 中不存在)。在 OOP 中这是一个坏主意吗?

编辑:显然,在其余代码中,我们总是只启动 ClassA。但是想知道在 OOP 术语中称子类的父类是一个很大的“不”吗?

标签: phpoop

解决方案


您所描述的是 OOP 中的常见模式。父类应该是抽象类,所以不能自己实例化,只能实例化子类。

子类都需要实现父类中没有的方法,但有些方法对所有类都是通用的,并且它们在父类中实现。然后,这些通用方法将针对特定于子级的某些实现方面交给子级。


推荐阅读