interface 对象接口
使用接口(interface),可以指定某个类必须实现哪些方法,但不需要定义这些方法的具体内容
接口是通过 interface 关键字来定义的,就像定义一个标准的类一样,但其中定义所有的方法都是空的
接口中定义的所有方法都必须是公有,这是接口的特性
从上面的三个定义中我们可以把接口简单的理解成,接口是类的模板,接口里的方法都是公共的空方法
什么叫类的模板呢,其实我们可以这样理解,有很多类,他们的方法都差不多,但是具体的实现有一点小区别,我们把这些差不多的方法抽象成一个模板,每次需要用到我们就照则这个模板套,在稍微修改一点,这就可以叫类的模板。
比如动物都有speak的方法,但每个动物说的都不一样,小狗dog汪汪叫,小猫cat喵喵叫,小羊sheep咩咩叫。我们把speak的方法定义成Animal模板。每个小动物想说话的时候就照着Animal模板套用speak方法,在稍微改一下,就可以实现各自不同的叫声了
<?php
interface Animal
{
public function speak();
}
class Dog implements Animal
{
public function speak()
{
// TODO: Implement speak() method.
echo "汪汪叫";
}
}
class Cat implements Animal
{
public function speak()
{
// TODO: Implement speak() method.
echo "喵喵叫";
}
}
class Sheep implements Animal
{
public function speak()
{
// TODO: Implement speak() method.
echo "咩咩叫";
}
}
$dog=new Dog();
$cat=new Cat();
$sheep=new Sheep();
$dog->speak();
$cat->speak();
$sheep->speak();