在PHP中,abstract和interface是两种不同的概念和用法。
示例代码:
abstract class Animal { protected $name; abstract public function sound(); public function setName($name) { $this->name = $name; } } class Cat extends Animal { public function sound() { return 'Meow'; } } $cat = new Cat(); $cat->setName('Kitty'); echo $cat->sound(); // Output: Meow 示例代码:
interface Animal { public function sound(); } interface Pet { public function getName(); } class Cat implements Animal, Pet { public function sound() { return 'Meow'; } public function getName() { return 'Kitty'; } } $cat = new Cat(); echo $cat->sound(); // Output: Meow echo $cat->getName(); // Output: Kitty 综上所述,abstract是用于类的继承和实现的,可以包含具体的方法实现和属性,而interface是用于定义类应该实现的方法,只能包含抽象方法和常量。