php中abstract class
时间: 2023-09-15 07:16:36 浏览: 95
深入解读php中关于抽象(abstract)类和抽象方法的问题分析
在 PHP 中,abstract class 是一种抽象类,它不能被实例化,只能被继承。抽象类通常用于定义一些抽象方法,这些方法只有定义,没有具体实现。子类继承抽象类后,必须实现抽象类中的所有抽象方法,否则子类也必须定义为抽象类。
抽象类通过关键字 abstract 来定义,抽象方法也通过 abstract 关键字来定义。一个抽象类可以包含普通的方法和成员变量,但是抽象方法必须被子类实现。
例如:
```
abstract class Animal {
protected $name;
public function __construct($name) {
$this->name = $name;
}
abstract public function makeSound();
}
class Cat extends Animal {
public function makeSound() {
echo "Meow";
}
}
$cat = new Cat("Kitty");
$cat->makeSound(); // 输出 Meow
```
在上面的例子中,Animal 类是一个抽象类,它定义了一个抽象方法 makeSound(),该方法必须在子类中实现。Cat 类继承了 Animal 类,并实现了 makeSound() 方法。在实例化 Cat 类后,调用 makeSound() 方法输出 Meow。
阅读全文