php接口的用法(interface与implements关键字)
时间:2015-11-20 阅读:次 QQ群:182913345
PHP中类是单继承,也就是不支持多继承,当一个类需要多个类的功能时,继承就无能为力了,为此就引入了类的接口技术。使用关键字 interface 来定义,并使用关键字 implements 来实现接口中的方法,且必须实现所有接口中所定义的方法。且接口里面不能声明变量,而且所有成员都是public权限的。
<?php //定义user接口 interface UserInterface{ function getname(); } //实现user接口 class User implements UserInterface{ private $name="nostop"; public function getName(){ return $this->name; } } //调用user接口 $user=new User(); echo $user->getName(); |
//实现多个接口 class 子类 extends 父类 implements 接口1,接口2,........{ ......... } |
接口与抽象类的区别如下:
1. 一个子类如果 implements 一个接口,就必须实现接口中的所有方法(不管是否需要);如果是继承一个抽象类,只需要实现需要的方法即可。
2. 如果一个接口中定义的方法名改变了,那么所有实现此接口的子类需要同步更新方法名;而抽象类中如果方法名改变了,其子类对应的方法名将不受影响,只是变成了一个新的方法而已(相对老的方法实现)。
3. 抽象类只能单继承,当一个子类需要实现的功能需要继承自多个父类时,就必须使用接口。
上一篇:PHP取数组最后一个元素的方法
下一篇:PHP如何防止同一用户多次登录