首页 > 编程笔记 > PHP笔记 阅读:22

PHP abstract抽象类的用法(附带实例)

PHP 中的抽象类是不能创建实例的类,定义时使用 abstract 关键字。

如下面的代码,这里定义的 tUnitBase 就是一个抽象类:
<?php
abstract class tUnitBase
{
    public $name;
    public $x;
    public $y;
}
?>

下面的代码使用 tUnit 类继承 tUnitBase 类:
<?php
class tUnit extends tUnitBase
{
    public function moveTo($toX, $toY)
    {
        echo "{$this->name} 从 ({$this->x}, {$this->y}) 移动到 ({$toX}, {$toY})";
    }
}
?>

接下来测试 tUnit 类的使用:
<?php
require_once $_SERVER["DOCUMENT_ROOT"]."/demo/tUnitBase.php";

$unit = new tUnit();
$unit->x=10;
$unit->y=99;
$unit->moveTo(101,156);
echo "<br>";
var_dump($unit instanceof tUnit);
var_dump($unit instanceof tUnitBase);
?>
代码执行结果为:

从 (10,99) 移动到 (101, 156)
bool(true)
bool(true)

本例中,首先测试了 tUnit 类的使用,创建的 $unit 对象定义为 tUnit 类的实例;其次调用了 moveTo() 方法;最后使用 instanceof 运算测试 $unit 对象的类型。可以看到,它既是 tUnit 类的实例又是其父类的实例。

相关文章