接口简介
interface
:指定某个类必须实现的方法,但不需要定义方法的具体实现过程
接口中仅允许出现:方法与类常量
接口的方法可见性必须是:public
接口的方法体必须是空的
接口是类的代码模版,可以像类一样有父子继承关系,例如父接口,子接口
implementa
:类实现接口的关键字
如果仅是部分实现接口中的方法,请用一个抽象类来实现它
接口
1.接口不能实例化
2.接口中只允许出现抽象方法
3.接口中的成员全部都是公共的:public
4.接口中允许有常量
5.实现接口的类,必须将接口的抽象方法全部实现了
<?php
namespace _demo;
//创建了一个机动车的接口
interface ivehicle
{
//燃料
public function setFuel($fuel);
// 用途
public function setPurpose($purpose);
}
//小汽车
//implements类实现接口的关键字
class Car implements ivehicle
{
private $fuel;
protected $purpose;
// 燃料
public function setFuel($fuel)
{
$this->fuel = $fuel;
}
// 用途
public function setPurpose($purpose)
{
$this->purpose = $purpose;
}
// 在自定义类中,可以扩展一个方法
public function getInfo()
{
return $this->fuel . $this->purpose .'车<br>';
}
}
//私家车
class Auto implements ivehicle
{
private $fuel;
protected $purpose;
// 燃料
public function setFuel($fuel)
{
$this->fuel = $fuel;
}
// 用途
public function setPurpose($purpose)
{
$this->purpose = $purpose;
}
// 在自定义类中,可扩展一个方法
public function getInfo()
{
return $this->fuel . $this->purpose . '车 <br>';
}
}
//Car类实例化
$car = new Car();
$car->setFuel('新能源');
$car->setPurpose('公交');
echo $car->getInfo(),'<hr>';
//Auto类实例化
$auto = new Auto();
$auto->setFuel('新能源');
$auto->setPurpose('私家');
echo $auto->getInfo(),'<hr>';
完结…