抽象类和接口是面向对象编程中常用的概念,用于定义一些共同的行为和属性。下面是PHP中定义抽象类和接口的代码示例:
定义抽象类:
abstract class Animal {
protected $name;
abstract public function sound();
public function setName($name) {
$this->name = $name;
}
public function getName() {
return $this->name;
}
}
定义接口:
interface Flyable {
public function fly();
}
interface Swimmable { public function swim(); }
3. 实现接口:
```php
class Bird implements Flyable {
public function fly() {
echo "Bird is flying.";
}
}
class Fish implements Swimmable {
public function swim() {
echo "Fish is swimming.";
}
}
class Dog extends Animal {
public function sound() {
echo "Dog is barking.";
}
}
使用示例:
$dog = new Dog();
$dog->setName("Tom");
echo $dog->getName(); // 输出 "Tom"
$dog->sound(); // 输出 "Dog is barking."
$bird = new Bird();
$bird->fly(); // 输出 "Bird is flying."
$fish = new Fish();
$fish->swim(); // 输出 "Fish is swimming."
需要注意的是,一个类可以同时实现多个接口,但只能继承一个抽象类。抽象类可以包含抽象方法和非抽象方法,而接口只能包含抽象方法。
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站