博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PHP面向对象之接口编程
阅读量:6432 次
发布时间:2019-06-23

本文共 1039 字,大约阅读时间需要 3 分钟。

hot3.png

这两天在看一些关于PHP接口方面的资料,总结如下:

一、接口的定义和作用:

1、定义:接口规定了那些实现它的类,是抽象类的实体,其方法必须被全部实现。

使用方法如下:

working(); } $a = new teacher(); $b = new coder(); print_object($a); print_object($b); ?>
2、作用:接口起强制规范和契约的作用,不允许调用接口中本不存在的方法。接口的编写和实现可以分开。

二、PHP的接口

    php是弱类型语言,强调灵活,不推荐大规模使用接口,因为PHP的接口失去了一些接口应该有的特性,比如PHP只关心是否实现了这个方法,而不关心语义是否正确。

三、一些特例:

    Iterator迭代器接口,只要实现了这个接口,就可以使对象用于foreach结构,如DirectoryIterator类。

代码如下:

$dir = new DirectoryIterator(dirname(__FILE__));foreach ($dir as $key => $value) {    if(!$value->isDir()){        echo $value->getFileName(),"\t",$value->getSize(),"
"; }}
    Trait可以被视为一种加强型的接口。代码如下:

trait Hello{	public function sayHello(){		echo "Hello ";	}}trait World{	public function sayWorld(){		echo "World";	}}class MyHelloWorld{	use Hello,World;	public function sayExclamationMark(){		echo "!";	}}$myobject = new MyHelloWorld();$myobject->sayHello();$myobject->sayWorld();$myobject->sayExclamationMark();
四、总结

接口作为一种规范和契约存在,保证可用性和可控性。

接口是一个声明,使用了该接口就必须实现它。

PHP的接口存在两个不足,一是没有契约限制,二是缺少足够多的内部接口。

转载于:https://my.oschina.net/wddqing/blog/127837

你可能感兴趣的文章
trove 基于 centos7 制作 mysql5.6 镜像
查看>>
结合i节点和数据块分析linux中软链接和硬链接的区别
查看>>
Heartbeat crm的配置
查看>>
Stream
查看>>
我的友情链接
查看>>
Windows Server 2012_Install_Guide
查看>>
ISA Server搭建站点对站点×××
查看>>
我的友情链接
查看>>
超大规模数据中心:给我一个用整机柜的理由先
查看>>
执行命令取出linux中eth0的IP地址
查看>>
CRUD全栈式编程架构之控制器的设计
查看>>
python常用内建模块(五)
查看>>
你为什么有那么多时间写博客?
查看>>
Excel 中使用VBA
查看>>
$.ajax同步请求会阻塞js进程
查看>>
Postman 网络调试工具
查看>>
Python教程6
查看>>
zabbix实现自动发现功能添加磁盘监控
查看>>
mysql8.0.14 安装
查看>>
1039. 到底买不买(20)
查看>>