`

PHP类实例教程(十九):PHP类接口的定义与规范

阅读更多

接口(interface)是抽象方法和静态常量定义的集合。

接口是一种特殊的抽象类,这种抽象类中只包含抽象方法和静态常量。

接口中没有其它类型的内容。

接口的定义

我们先写接口的定义,后面几节再介绍接口的意义。

下面的例子是接口的一个简单写法。

下面的例子定义了一个接口 User ,这个接口中有两个抽象方法,getName() 和setName()。能看到接口的写法和类很相似。

接口中的抽象方法

注意,在接口中只能有抽象方法。如果在接口中出现了非抽象方法,会报错如下: Interface function User::setName() cannot contain body in ……….

接口中抽象方法的修饰和访问权限

在接口中的抽象方法只能是public的,默认也是public权限。并且不能设置成 private 或者 protected 类型。否则会报错如下: Access type for interface method User::setName() must be omitted in —on line — (在接口中,访问类型必须忽略。)

即使abstract 和 final 修饰符也不能修饰接口中的抽象的方法。

接口中的静态抽象方法

在接口中可以使用静态抽象方法。在PHP5.2中,不建议在抽象类中使用静态抽象方法。而接口中依然保留了静态抽象方法。

接口中的静态常量

在接口中可以定义静态常量。而且不用static修饰就是静态的常量。

分享到:
评论

相关推荐

    PHP100视频教程 22:PHP面向对象开发的学习(六)

    当定义类的时候该类将不能被继承,当用来定义方法的时候该方法将不能被重载2、关键字 : self 用来用类访问当前类中的内容的关键字,类似与$this关键字,但$this是需要类实例化以后才可以使用,self 可以直接访问...

    PHP100视频教程 22:PHP面向对象开发的学习(六).rar

     用来定义类的静态属性或方法,可以在类未被实例化时使用,静态属性单独占 用内存而不会因创建多个对象时而导致同样的方法或者属性重复占用。 4、关键字 :const   用来定义类中的常量,类似PHP外部定义常量的...

    开发PHP扩展详细教程

    客户想给系统集成ICBC的接口,但是用ICBC的接口需要用他们的提供的库函数去 1. sign对发送的数据进行签名 2. getcertid获取用户证书的版本 3. verifySign对签名后的数据进行验证 问题是ICBC只给了现成的COM...

    PHP100视频教程 17:PHP面向对象开发的学习(一).rar

    软件介绍 1、什么是面向对象,什么是类 起初,“面向对象”是专指在程序设计中采用封装、继承、抽象等设计方法。可是, 这个定义显然不能再适合现在情况。面向对象的思想已经涉及到软件开发的各个方 面。如,面向...

    PHP基础教程 是一个比较有价值的PHP新手教程!

    $a and $b :与 $a xor $b :异或 (当$a或$b为true时为true,两者一样时为false) ! $a :非 比较运算符有: $a == $b :相等 $a != $b :不等 $a $b :小于 $a $b :小于等于 $a > $b :大于 $a >= $b :大于等于 ...

    PHP100视频教程 17:PHP面向对象开发的学习(一)

    1、什么是面向对象,什么是类起初,“面向对象”是专指在程序设计中...类我们可以理解成一个功能集合菜单,我们通过类来实现生成我们的方法2、使用CLASS创建一个类3、类的成员属性和成员方法4、使用new函数对象实例化

    史上最全韩顺平传智播客PHP就业班视频,10月份全集

    9-28 6 javascript类与对象 9-28 7 给对象指定成员函数 自定义工厂方法 9-30 1 课程回顾 9-30 2 javascript的闭包 js变量作用域 9-30 3 仿超级玛丽兄弟游戏制作 9-30 4 构造方法 对象的常用操作 9-30 5 面向对象的...

    phpredis-2.1.3.zip + Redis客户端介绍+ php调用Redis教程 +Redis相关方法说明

    自动连接Redis实例 使用“懒惰”方式 只在第一个命令发出时执行连接; 可以灵活定义客户端的命令集合; 2 Phpredis(推荐使用)  这是一个二进制版本的PHP客户端 按照的说法 效率要比Predis高 这个版本支持作为...

    PHP和MySQL Web开发第4版pdf以及源码

    6.3 类的实例化 6.4 使用类的属性 6.5 使用private和public关键字控制访问 6.6 类操作的调用 6.7 在PHP中实现继承 6.7.1 通过继承使用private和protected访问修饰符控制可见性 6.7.2 重载 6.7.3 使用final...

    PHP和MySQL WEB开发(第4版)

    6.3 类的实例化 6.4 使用类的属性 6.5 使用private和public关键字控制访问 6.6 类操作的调用 6.7 在PHP中实现继承 6.7.1 通过继承使用private和protected访问修饰符控制可见性 6.7.2 重载 6.7.3 使用final关键字禁止...

    史上最全韩顺平传智播客PHP就业班视频,9月份全集

    9-28 6 javascript类与对象 9-28 7 给对象指定成员函数 自定义工厂方法 9-30 1 课程回顾 9-30 2 javascript的闭包 js变量作用域 9-30 3 仿超级玛丽兄弟游戏制作 9-30 4 构造方法 对象的常用操作 9-30 5 面向对象的...

    PHP100视频教程 44:PHP中MVC学习之ThinkPHP(下).rar

    // 惯例配置定义 变量名大小写任意,都会统一转换成小写 // 如果要覆盖惯例配置的值,请在项目配置文件中设置 // 所有配置参数都可以在生效前动态改变 2、ThinkPHP数据库操作 3、ThinkPHP模板的使用 4、实例...

    PHP和MySQL Web开发第4版

    6.3 类的实例化 6.4 使用类的属性 6.5 使用private和public关键字控制访问 6.6 类操作的调用 6.7 在PHP中实现继承 6.7.1 通过继承使用private和protected访问修饰符控制可见性 6.7.2 重载 6.7.3 使用final...

    史上最全传智播客PHP就业班视频课,8月份视频

    9-28 6 javascript类与对象 9-28 7 给对象指定成员函数 自定义工厂方法 9-30 1 课程回顾 9-30 2 javascript的闭包 js变量作用域 9-30 3 仿超级玛丽兄弟游戏制作 9-30 4 构造方法 对象的常用操作 9-30 5 面向对象的...

    PHP7扩展开发教程之Hello World实现方法示例

    本文实例讲述了PHP7扩展开发教程之Hello World实现方法。分享给大家供大家参考,具体如下: 一、下载PHP源代码 要开发PHP扩展,需要先下载PHP的源代码,一方面是因为我们的扩展一般会用到PHP自身定义的函数和宏,另...

    PHP入门教程之面向对象基本概念实例分析

    主要介绍了PHP入门教程之面向对象基本概念,结合实例形式简单分析了php面向对象所涉及的类的定义、对象的创建、构造函数、成员变量、成员方法等,需要的朋友可以参考下

    南阳理工学院PHP编程讲义.rar

    13.2.9 聊天室的运行实例· 220 第14 章新闻及搜索系统······· 222 14.1 新闻系统数据结构的建立··· 222 vi 14.2 新闻及搜索系统的实现··· 223 14.2.1 样式表··223 14.2.2 新闻的录入页面··...

    PHP PDO操作MySQL基础教程

    PHP中的PDO扩展为PHP访问数据库定义了一个轻量级的、一致性的接口,它提供了一个数据访问抽象层,这样,无论使用什么数据库,都可以通过一致的函数执行查询和获取数据。 PDO支持的PHP版本为PHP5.1以及更高的版本,...

    CI框架学习概要总结

    6.CI框架学习-实例操作添加栏目如何定义使用模型以及配置数据库与利用AR增 7.CI框架学习-实例操作利用AR类对栏目进行查、删、改动作 8.CI框架学习-实例操作发表文章 9.CI框架学习-实例操作发表文章之CI框架文件上传...

    Zend Framework教程之Autoloading用法详解

    本文实例讲述了Zend Framework教程之Autoloading用法。分享给大家供大家参考,具体如下: 一、概述 自动加载是一种机制,无需依赖手动编写PHP代码。参考»PHP手册自动加载,一旦自动加载器被定义,你试图使用一个...

Global site tag (gtag.js) - Google Analytics