php定义抽象类abstract并继承该抽象类
首先我们在app\absclass目录创建一个Car.php类,代码如下:<?php
namespace app\absclass;
abstract class Car
{
/**
* 车子都会启动
*/
public function start()
{
echo "车子启动";
}
/**
* 车子都会行驶
*/
abstract public function run();
/**
* 车子都可以熄火
*/
public function stop()
{
echo "车子熄火";
}
}然后我们在app\controller目录创建具体类Geely.php两个控制器类,代码如下:
<?php
namespace app\controller;
use app\absclass\Car;
class Geely extends Car
{
// 调用启动
public function index()
{
$this->start();
// $this->run();
$this->stop();
}
/**
* 必须实现抽象类的行驶
*/
public function run()
{
echo '车子行驶';
}
}抽象类中已将具体实现的普通方法,可以直接在子类中使用$this调用,如$this->start();
但如果是在抽象类定义的是抽象方法,比如run()方法,即只有方法名没有方法体(无大括号)则必须要在子类实现run()方法,否则无法运行Geely.php。
页:
[1]