eat("大骨头"); //instanceof用于判断某个对象是否实现了某个接口 var_dump($doginstanceof ICanE">
时间:2021-07-01 10:21:17 帮助过:24人阅读
/**
* 接口就是把不同类的共同行为进行了定义,然后在不同的类里面实现不同的功能。
* 因为接口的方法实现可以有很多,所以对于接口里面定义的方法的具体实现是多种多样的,这种特性我们称为多态
*/
header("Content-Type: text/html; charset=utf-8");//去除中文乱码//interface关键字用于定义接口interfaceICanEat{publicfunctioneat($food);
}
//implements关键字用于表示类实现某个接口classHumanimplementsICanEat
{//实现某个接口后,必须提供接口中定义的方法的具体实现publicfunctioneat($food){echo"Human::eat()".$food."
";
}
}
classAnimalimplementsICanEat
{//实现某个接口后,必须提供接口中定义的方法的具体实现publicfunctioneat($food){echo"Animal::eat()".$food."
";
}
}
$pzy=new Human();
$pzy->eat("大西瓜");
$dog=new Animal();
$dog->eat("大骨头");
//instanceof用于判断某个对象是否实现了某个接口
var_dump($doginstanceof ICanEat);
functioncheckEat($obj){if ($objinstanceof ICanEat) {
$obj->eat('food');
}else{
echo"The obj can't eat.
";
}
}
//相同的一行代码,对于传入不同的接口的实现的对象的时候,表现不同的,称为多态
checkEat($pzy);
checkEat($dog);
//用extends让接口继承接口interfaceICanFlyextendsICanEat{publicfunctionfly();
}
//当类实现子接口时,父接口定义的方法也要在这个类中具体实现classHuman1implementsICanFly
{publicfunctionfly(){}
publicfunctioneat($food){}
}
?>
版权声明:本文为博主原创文章,未经博主允许不得转载。
以上就介绍了面向对象PHP(四),包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。