这篇文章主要介绍php中interface有什么用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
php
中的类是不允许多继承
的,而接口
可以多继承
,其次使用接口可以封装
具体的实现,不向外部暴露具体的实现细节,只将接口
暴露出来,用户也只能够通过接口
访问,这样也有一定的安全性。
1.定义:接口,使用interface
关键字定义,与类类似,专门用来规范一些共性类必须实现的方法。
interface People{}
2.接口实现:接口是用来规范类必须完成的事情,所以接口只能被类实现:implements
。(不允许实例化)
class Man implements People{}
3 .接口成员:接口中只能定义公有抽象方法
和接口常量
interface Animal{
const NAME = '人';//只允许有接口常量
public function eat();//接口方法必须为公有抽象方法
}
4.接口的实现类必须实现所有的抽象方法
,或者实现类为抽象类
,接口常量
可以直接在实现类中访问
interface Animal{
const NAME = '人';
public function eat();
}
//实现接口
class Man implements Human{
//必须实现接口所有抽象方法
public function eat(){
echo self::NAME; //可以访问接口常量
}
}
//抽象类实现接口
abstract class Ladyboy implements Human{} //正常实现
5.实现接口的类成员
,不允许重写接口中的常量,不允许增加接口方法的控制权限
interface Animal{
const NAME = '人';
public function eat();
}
class Woman implements Human{
//重写接口常量
const NAME = '女人'; //错误:不允许重写接口常量
//强化接口方法控制
private function eat(){} //错误:接口方法不允许使用其他访问修饰限定符,必须使用public
}
6.接口可以继承接口:extends
,而且接口可以多继承接口
interface Plant{
public function lightning();
}
interface Animal{
public function eat();
}
//单继承
interface Man extends Animal{}
//多继承
interface Apple extends Plant,Animal{}
以上是“php中interface有什么用”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注亿速云行业资讯频道!
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。