php - 强制子类覆盖 PHP 中的特定函数

标签 php oop

我正在用 PHP 创建一个报告库,并开发了一个名为 ReportView 的抽象类。这将提供报告的基本功能,如生成页眉和页脚、创建参数表单。

在这个类中还有一个名为generate_report 的函数。目前它在抽象类中是空的,因为在这个级别我们不知道报告的内容。此外,它还包含一个 render 函数,该函数调用此 generate_report 函数并将输出发送到浏览器。

So I need whenever a child class inherits from ReportView it must implement the generate_report method otherwise PHP must give error. Is there any keyword or method through which we can enforce implemetation of a specific function.

最佳答案

执行以下操作:

abstract class ReportView {
  abstract protected function generate_report();

  // snip ...

}

class Report extends ReportView {
  protected function generate_report() { /* snip */ }
}

任何扩展 ReportView 且不是抽象的类必须实现generate_report(以及与此相关的父类(super class)中的任何其他抽象函数) .

关于php - 强制子类覆盖 PHP 中的特定函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16842564/

相关文章:

C++ 销毁类发生错误

java - 当我在方法中计算时无法得到相同的结果

javascript - JavaScript 中的多个构造函数(重载)

php - MySQL group by 当天无记录时如何填充空值

c++ - 为什么在没有 CUDA __device__ 属性的情况下定义类头有效? (C++)

基于下拉列表选项加载内容的 PHP 表单

php - 如何在 PHP 代码中插入笑脸?

java - 为什么克隆不起作用?

php - 使用php播放任何视频中的音频

php - 将多维数组对象映射到类中的变量