PHP里interface接口在什么情况使用?该注意什么

WBOY
Libérer: 2016-06-20 13:00:54
original
890 Les gens l'ont consulté

PHP里interface接口在什么情况使用?该注意什么

一 PHP接口是什么

 

使用接口(interface),可以指定某个类必须实现哪些方法,但不需要定义这些方法的具体内容。
接口是通过 interface 关键字来定义的,就像定义一个标准的类一样,但其中定义所有的方法都是空的。
接口中定义的所有方法都必须是公有,这是接口的特性

要实现一个接口,使用 implements 操作符。类中必须实现接口中定义的所有方法,否则会报一个致命错误。类可以实现多个接口,用逗号来分隔多个接口的名称。

二 PHP接口实例

举个实战中的例子,我写了个使用mysql扩展函数封装的一个数据库操作类DBMySQL,写了几个常用的方法:getAll,getOne,delById,delAll,update,save等等,
现在mysql扩展被官网彻底抛弃了,我让同事帮我使用mysqli或者pdo-mysql扩展来封装一个数据库操作类,
可能他的风格跟我原来的风格不一样,他可能喜欢叫Get_All,Get_One,等等,又或者,他觉得不需要delById了,也不需要delAll了,统一一个Del方法。
这样,要使用新的操作类,那么项目里使用了我原来的操作类的所有地方,都要修改。

再举一个情况,我觉得mysqli好用,同事A觉得PDO-mysql好用,写模块的同事C觉得随便用哪个都可以。但是,总得不可能让同事C写一套用mysqli方法的,再写一套pdo-mysql方法的,我们可以用mysqli的方法封闭一个数据库操作类,用pdo-mysql的方法也封闭一个数据库操作类,然后规定我们两个操作类实现同一功能的方法名和参数相同,那么同事C就可以专心写他的模块和逻辑了。

那么,怎样规定我和同事A分别写的数据库操作类的方法一致呢?

interface(接口)就是这么用的了。它规定所有实现它的类,都必须有它规定好的方法,少一个都不行。这样,只要我们写好interface,规定好方法,同事C就可以以这个interface为参考,调用这个interface的方法就行了。


Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal