php接口中的interface如何使用
这篇“php接口中的interface如何使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“php接口中的interface如何使用”文章吧。
1、说明
接口中的方法都是抽象方法,并且是public。
2、接口同样可以继承接口,但是子类必须实现所有方法
interfaceEextendsA{//接口E继承接口A,E中必须实现A中所定义的方法}
3、实现多重继承:
我们都知道PHP中的类(class)是单继承的,那是不是就没有办法实现多重继承了呢?答案是否定的.我们可以通过其它特殊的方式实现类的多重 继承,比如使用接口interface实现,只要把类的特征抽象为接口,并通过实现接口的方式让对象有多重身份,通过这样就可以模拟多重继承了。
下面是一个用接口(interface)实现多重继承的例子,源代码如下:
<?phpinterfaceUserInterface{//定义User的接口functiongetname();}interfaceTeacherInterface{//teacher相关接口functiongetLengthOfService();}classUserimplementsUserInterface{//实现UserInterface接口private$name="tom";publicfunctiongetName(){return$this->name;}}classTeacherimplementsTeacherInterface{//实现TeacherInterface接口private$lengthOfService=5;//工龄publicfunctiongetLengthOfService(){return$this->lengthOfService;}}//继承自User类,同时实现了TeacherInterface接口.classGraduateStudentextendsUserimplementsTeacherInterface{private$teacher;publicfunction__construct(){$this->teacher=newTeacher();}publicfunctiongetLengthOfService(){return$this->teacher->getLengthOfService();}}classAct{//注意这里的类型提示改成了接口类型publicstaticfunctiongetUserName(UserInterface$_user){echo"Nameis".$_user->getName()."<br>";}//这里的类型提示改成了TeacherInterface类型.publicstaticfunctiongetLengthOfService(TeacherInterface$_teacher){echo"Ageis".$_teacher->getLengthOfService()."<br>";}}$graduateStudent=newGraduateStudent();Act::getUserName($graduateStudent);Act::getLengthOfService($graduateStudent);//结果正如我们所要的,实现了有多重身份的一个对象.?>
以上就是关于“php接口中的interface如何使用”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注行业资讯频道。