PHP 抽象类2025年04月17日 | 阅读 4 分钟 在 PHP 中,无法独立创建的类称为抽象类。这意味着抽象类不能直接用于创建对象。后续的类旨在扩展抽象类。通过概述继承类必须实现的常见方法和属性,它们充当其他类的模板。 "abstract" 关键字是 PHP 中的保留词之一。用 "abstract" 关键字指定的类不能被实例化,这意味着不能声明该类的新对象。另一个类可以扩展抽象类。 语法定义抽象类的语法如下 构造抽象类对象如前所述,不能声明此类的对象。因此,以下语句 它将触发如下所示的错误消息 输出 PHP Fatal error: Uncaught Error: Cannot instantiate abstract class myclass 属性、常量和方法都可以存在于抽象类中。类的成员可以被分类为 private、public 或 protected。一个类也可以有一个或多个抽象方法。 如果一个类中的任何方法是抽象的,那么该类必须是抽象类。换句话说,不能在常规类中声明抽象方法。 这个例子将导致一个错误。 输出部分的错误消息将显示为 输出 PHP Fatal error: Class myclass contains 1 abstract method and must therefore be declared abstract 抽象类可以被子类扩展并用作父类。然而,父类中的每个抽象方法都必须在子类中有一个具体的实现;否则,将发生错误。 为什么要使用抽象类?在 PHP 中,抽象类主要出于两个原因而必不可少
示例在以下代码中,BaseClass 是一个抽象类,它声明了一个抽象方法 performAction()。一个名为 DerivedClass 的子类扩展了抽象类,但没有实现其父类的抽象方法。如果我们尝试实例化该子类,这将导致致命错误,因为它不满足抽象类的约定。 示例立即执行输出 给定的代码将导致致命错误,因为 DerivedClass 没有实现抽象类 BaseClass 中声明的抽象方法 performAction()。 Fatal error: Class DerivedClass contains 1 abstract method and must therefore be declared abstract or implement the remaining methods (BaseClass::performAction) in [filename].php on line [line number] 要解决此错误,您必须在 DerivedClass 中实现 performAction() 方法。这是更正后的版本 已更正的代码 示例立即执行输出 Hello 另一个例子 在以下 PHP 脚本中,抽象类 Score 定义了一个抽象方法 calculatePercentage()。Score 类包含三个受保护的属性,表示各个学科的分数。Learner 类继承自 Score 并提供了抽象方法的具体实现。此方法根据三个分数计算平均百分比。 示例立即执行输出 Overall Percentage: 60 PHP 中抽象类和接口的区别尽管 PHP 中的抽象类和接口具有相似的目的,都为其他类提供蓝图,但两者之间存在关键区别
下一主题PHP 接口 |
我们请求您订阅我们的新闻通讯以获取最新更新。