php接口与接口引用的深入解析
1、接口的介绍与创建
关键字 :interface
2、接口的引用与规范
关键字 :implements
接口:一种成员属性全部为抽象的特殊抽象类,在程序中同为规范的作用
1、类中全部为抽象方法
2、抽象方法前不用加abstract
3、接口抽象方法属性为public
4、成员属性必须为常量
抽象:
1、类中至少有一个抽象方法
2、抽象方法前需加abstract
共同点:
1、本身都不能被实例化,必须被继承或者引用
2、继承或者引用后,需要把所有抽象方法重载方可使用
接口有自己的创建关键字:interface 与普通类的创建类似
代码如下:
interface demo {
const NAME="名字";
function Fun1();//对象方法全部为抽象方法,前面无须加adstract
function Fun2();
}
接口可以使用关键字:implements 多个引用并用逗号 , 分开.
1、普通类引用接口例子:
代码如下:
class mypc implements demo , demo2 , demo3{
……
}
abstract class mypc implements demo , demo2 , demo3{
……
}
class mypc extends root implements demo , demo2 , demo3{
……
}
interface demo3 extends demo{
……
}
相关推荐
-
浅析php中抽象类和接口的概念以及区别
复制代码 代码如下: //抽象类的定义:abstract class ku{ //定义一个抽象类 abstract function kx(); ......}function aa extends ku{ //实现抽象类的方法 function kx(){ echo 'sdsf'; }}//使用方法$aa=new aa;$aa->kx();//1.定义一些方法,子类必须完全实现这个抽象中所有的方法//2.不能从抽象类创建对象,它的意义在于被扩展//3.抽象类通常具有抽象方法,
-
PHP OPP机制和模式简介(抽象类、接口和契约式编程)
1.抽象类 抽象类机制中总是要定义一个公共的基类,而将特定的细节留给继承者来实现.通过抽象概念,可以在开发项目中创建扩展性很好的架构.任何一个类,如果它里面至少有一个方法是被声明为抽象的,那么这个类就必须被声明为抽象的.被定义为抽象的方法只是声明了其调用方式(参数),不能定义其具体的功能实现.在类的声明中使用 abstract 修饰符就可以将某个类声明为抽象的. 1.1方法原型(prototype) 是指方法的定义中剔除了方法体之后的签名.它包括存取级别.函数关键字.函数名称和参数.他不包含({
-
PHP面向接口编程 耦合设计模式 简单范例
复制代码 代码如下: <?php interface js{ function ys($a,$b); } class Af implements js{ function ys($a,$b){ return "加法运算......结果为:".($a+$b); } } class Jf implements js{ function ys($a,$b){ return "减法运算......结果为:".($a-$b); } } class AAf impleme
-
PHP SPL标准库之接口(Interface)详解
PHP SPL标准库总共有6个接口,如下: 1.Countable 2.OuterIterator 3.RecursiveIterator 4.SeekableIterator 5.SplObserver 6.SplSubject 其中OuterIterator.RecursiveIterator.SeekableIterator都是继承Iterator类的,下面会对每种接口作用和使用进行详细说明. Coutable接口: 实现Countable接口的对象可用于count()函数计数. 复制代码
-
PHP面向对象程序设计之接口用法
接口是PHP面向对象程序设计中非常重要的一个概念.本文以实例形式较为详细的讲述了PHP接口的用法.具体如下: 接口:interface 在PHP中,我们可以规定,一个对象应该具有哪些公共的外部操作,即可使用interface来规定. 公共的方法就是接口.用于规定一个对象应该用于哪些公共的操作方法(接口),这个也叫接口(公共操作方法的集合) 即:接口(interface结构,公共方法集合) 公共方法(接口方法) 定义:用于限定某个对象所必须拥有的公共操作方法的一种结构,称之为接口(interfac
-
深入分析php中接口与抽象类的区别
接口和抽象类真的很难区分开,引文他们很相似,方法都没有定义逻辑,都是供子类是想或继承的.区分二者只要记住一句话:接口是规范,类是实现.接口的目的是定义一个规范,大家都遵守这个规范. 也就是说,从目的上可以很清楚地区分接口和抽象类.那么还是有疑问,既然有了借口,那么为什么还必须有抽象类呢? 加入我们要定义一个名为Animal的类,该类有两个子集Dog和Cattle,二者都有两个方法:run()方法和speak()方法. 假定Dog和Cattle的"跑(run)"是相同的,因此run()方
-
php多重接口的实现方法
本文实例讲述了php多重接口的实现方法.分享给大家供大家参考.具体如下: <?php interface staff_i1 //接口1 { function setID($id); function getID(); } interface staff_i2 //接口2 { function setName($name); function getName(); } class staff implements staff_i1, staff_i2 //接口的实现 { private $id;
-
PHP中用接口、抽象类、普通基类实现“面向接口编程”与“耦合方法”简述
复制代码 代码如下: <?php /* 边学边做的,为方便自己翻阅而发布,更为得到高人指点而发布,欢迎高手指点...... [提示]本例通过测试无误 [情景设计] 模拟计算机主板IDE接口,比如:主板可以存取的储存器常常有光驱.硬盘.闪存等等, 为了方便,有必要对这些不同的储存器设定同一的接口. 本例还假设一种前所未有的.存取方式与众不同的外星储存器也要加到主板上进行存取, 于是需要采用耦合的设计模式. [本例主要讲述] 1.通过接口.抽象类.一般类继承三种方式达到所谓的"接口"
-
PHP面向对象的进阶学习(抽像类、接口、final、类常量)
一.抽像类(abstract) 在我们实际开发过程中,有些类并不需要被实例化,如前面学习到的一些父类,主要是让子类来继承,这样可以提高代码复用性 语法结构: 复制代码 代码如下: abstract class 类名{ 属性 $name; 方法(){} //方法也可以为abstract 修饰符 function 方法名(){} } 例: 复制代码 代码如下: abstract class animal{ public $name; public $age; //抽象方法不能有方法体,主要是为了让子
-
php接口和抽象类使用示例详解
一. 抽象类abstract class 1 .抽象类是指在 class 前加了 abstract 关键字且存在抽象方法(在类方法 function 关键字前加了 abstract 关键字)的类. 2 .抽象类不能被直接实例化.抽象类中只定义(或部分实现)子类需要的方法.子类可以通过继承抽象类并通过实现抽象类中的所有抽象方法,使抽象类具体化. 3 .如果子类需要实例化,前提是它实现了抽象类中的所有抽象方法.如果子类没有全部实现抽象类中的所有抽象方法,那么该子类也是一个抽象类,必须在 class
-
PHP中预定义的6种接口介绍
PHP预定义了6个接口介绍如下: 1.Traversable遍历接口 呵呵!其实它不是一个在PHP中可以使用的接口,内部类才可使用,它有一个用途就是检测一个类是否可以遍历. if($class instanceof Traversable) { //foreach } 2.Iterator迭代器接口 接口摘要: Iterator extends Traversable { //返回当前索引游标指向的元素 abstract public mixed current(void) //返回当前索引游标
随机推荐
- ExtJS4 动态生成的grid导出为excel示例
- java jdbc连接mysql数据库实现增删改查操作
- JavaScript闭包 懂不懂由你反正我是懂了
- 十个优秀的Ajax/Javascript实例网站收集
- ASP.NET搭配Ajax实现搜索提示功能
- Asp.net 动态加载用户自定义控件,并转换成HTML代码
- 解密ThinkPHP3.1.2版本之独立分组功能应用
- Python简单格式化时间的方法【strftime函数】
- C#的泛型方法解析
- MySQL切分查询用法分析
- js实现右下角可关闭最小化div(可用于展示推荐内容)
- CSS渐变统计柱形图
- 修改iptables防火墙规则解决vsftp登录后不显示文件目录的问题
- linux crontab 实现每秒执行的实例
- Nginx服务器中414错误和504错误的配置解决方法
- Python打包文件夹的方法小结(zip,tar,tar.gz等)
- 关于Select Where In 的排序问题
- JavaScript Break 和 Continue区别教程
- JSP基于Bootstrap分页显示实例解析
- Android 单例模式 Singleton 简单实例设计模式解析