PHP 抽象类
作者:迹忆客
最近更新:2023/03/27
浏览次数:
抽象类是具有至少一种抽象方法的类。本教程演示如何在 PHP 中创建和使用抽象类。
PHP 抽象类
在 PHP 中,抽象类是使用 abstract
关键字声明的,这与 C++ 不同。抽象类应该至少包含一个没有任何实际代码的抽象方法;此方法只有用 abstract
关键字声明的名称和参数。
抽象类的目的是提供一种模板来继承并强制继承类实现抽象方法。抽象类介于纯接口和普通类之间。
接口也可以是抽象类的特殊情况,其中每个方法都是抽象的。抽象类永远不能被实例化,如果任何类包含一个抽象方法,则该类必须是抽象的。
抽象类的语法是:
<?php
abstract class Demo
{
abstract function Method_Name(Parameters);
}
?>
此语法使用抽象方法 Method_Name
创建一个抽象类。
让我们尝试一个 PHP 中抽象类的示例:
<?php
// Parent abstract class
abstract class Employee {
public $Employee_Name;
public function __construct($Employee_Name) {
$this->name = $Employee_Name;
}
abstract public function intro() : string;
}
// Child classes
class Jack extends Employee {
public function intro() : string {
return "Hello I am Project Manager at Delftstack! My Name is $this->name!";
}
}
class Michelle extends Employee {
public function intro() : string {
return "Hi I am Human Resource Manager at Delftstack! My Name is $this->name!";
}
}
class John extends Employee {
public function intro() : string {
return "Hey I am a Senior Developer at Delftstack! My Name is $this->name!";
}
}
// Create objects from the child classes of abstract class
$Jack = new Jack("Jack");
echo $Jack->intro();
echo "<br>";
$Michelle = new Michelle("Michelle");
echo $Michelle->intro();
echo "<br>";
$John = new John("John");
echo $John->intro();
?>
Jack、Michelle 和 John 是从抽象类 Employee
继承的,这意味着他们可以使用公共 Employee_Name
属性和 Employee
抽象类的公共 __construct
方法,只是因为继承。但是 intro()
是抽象方法,这就是它在所有类中定义的原因。
查看代码的输出:
Hello I am Project Manager at Delftstack! My Name is Jack!
Hi I am Human Resource Manager at Delftstack! My Name is Michelle!
Hey I am a Senior Developer at Delftstack! My Name is John!
相关文章
如何在 PHP 中获取时间差的分钟数
发布时间:2023/03/29 浏览次数:183 分类:PHP
-
本文介绍了如何在 PHP 中获取时间差的分钟数,包括 date_diff()函数和数学公式。它包括 date_diff()函数和数学公式。