PHP 对象接口简单实现方法示例


Posted in PHP onApril 13, 2020

本文实例讲述了PHP 对象接口简单实现方法。分享给大家供大家参考,具体如下:

对象接口 (interface)

使用接口(interface),可以指定某个类必须实现哪些方法,但不需要定义这些方法的具体内容。

接口是通过 interface 关键字来定义的,就像定义一个标准的类一样,但其中定义所有的方法都是空的。

接口中定义的所有方法都必须是公有,这是接口的特性。

实现(implements)

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

Note:

实现多个接口时,接口中的方法不能有重名。

Note:

接口也可以继承,通过使用 extends 操作符。

Note:

类要实现接口,必须使用和接口中所定义的方法完全一致的方式。否则会导致致命错误。

示例

<?php

// 声明一个'iTemplate'接口
interface iTemplate
{
  public function setVariable($name, $var);
  public function getHtml($template);
}

// 实现接口
// 下面的写法是正确的
class Template implements iTemplate
{
  private $vars = array();
 
  public function setVariable($name, $var)
  {
    $this->vars[$name] = $var;
  }
 
  public function getHtml($template)
  {
    foreach($this->vars as $name => $value) {
      $template = str_replace('{' . $name . '}', $value, $template);
    }
 
    return $template;
  }
}

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
一个域名查询的程序
Oct 09 PHP
header中Content-Disposition的作用与使用方法
Jun 13 PHP
摘自织梦CMS中的图片处理类
Aug 08 PHP
教你识别简单的免查杀PHP后门
Sep 13 PHP
php类中的$this,static,final,const,self这几个关键字使用方法
Dec 14 PHP
详解WordPress中的头像缓存和代理中的缓存更新方法
Mar 01 PHP
php使用pclzip类实现文件压缩的方法(附pclzip类下载地址)
Apr 30 PHP
php+mysql实现的二级联动菜单效果详解
May 10 PHP
JSON两种结构之对象和数组的理解
Jul 19 PHP
浅谈PHP的排列组合(如输入a,b,c 输出他们的全部组合)
Mar 14 PHP
PHP实现Unicode编码相互转换的方法示例
Nov 17 PHP
PHP依赖注入原理与用法分析
Aug 21 PHP
php使用goto实现自动重启swoole、reactphp、workerman服务的代码
Apr 13 #PHP
yii2.0框架多模型操作示例【添加/修改/删除】
Apr 13 #PHP
yii2.0框架实现上传excel文件后导入到数据库的方法示例
Apr 13 #PHP
php回调函数处理数组操作示例
Apr 13 #PHP
yii2.0框架数据库操作简单示例【添加,修改,删除,查询,打印等】
Apr 13 #PHP
laravel使用数据库测试注意事项
Apr 10 #PHP
为你的 Laravel 验证器加上多验证场景的实现
Apr 07 #PHP
You might like
php将数据库中所有内容生成静态html文档的代码
2010/04/12 PHP
PHP中使用jQuery+Ajax实现分页查询多功能操作(示例讲解)
2017/09/17 PHP
php获取ajax的headers方法与内容实例
2017/12/27 PHP
CheckBox 如何实现全选?
2006/06/23 Javascript
很酷的javascript loading效果代码
2008/06/18 Javascript
Javascript引用指针使用介绍
2012/11/07 Javascript
jquery mobile changepage的三种传参方法介绍
2013/09/13 Javascript
深入分析JSONP跨域的原理
2014/12/10 Javascript
常用的JavaScript模板引擎介绍
2015/02/28 Javascript
JavaScript自定义等待wait函数实例分析
2015/03/23 Javascript
jQuery异步提交表单的两种方式
2016/09/13 Javascript
jquery自定义显示消息数量
2017/12/19 jQuery
Vue 进入/离开动画效果
2017/12/26 Javascript
Vuejs+vue-router打包+Nginx配置的实例
2018/09/20 Javascript
JSON获取属性值方法代码实例
2020/06/30 Javascript
Js数组扁平化实现方法代码总汇
2020/11/11 Javascript
[54:56]DOTA2上海特级锦标赛主赛事日 - 5 总决赛Liquid VS Secret第三局
2016/03/06 DOTA
Python中类型检查的详细介绍
2017/02/13 Python
Python实用技巧之列表、字典、集合中根据条件筛选数据详解
2018/07/11 Python
Django 模型类(models.py)的定义详解
2019/07/19 Python
Python实现图片批量加入水印代码实例
2019/11/30 Python
pyqt5数据库使用详细教程(打包解决方案)
2020/03/25 Python
快速解决Django关闭Debug模式无法加载media图片与static静态文件
2020/04/07 Python
Python如何利用Har文件进行遍历指定字典替换提交的数据详解
2020/11/05 Python
日本钓鱼渔具和户外用品网上商店:naturum
2016/08/07 全球购物
西班牙太阳镜品牌:Hawkers
2018/03/11 全球购物
不同浏览器创建XMLHttpRequest方法有什么不同
2014/11/17 面试题
应届生幼儿园求职信
2013/11/12 职场文书
学校课外活动总结
2014/05/08 职场文书
2015年元旦演讲稿
2014/09/12 职场文书
2015年会计个人工作总结
2015/04/02 职场文书
反腐倡廉学习心得体会范文
2015/08/15 职场文书
数据库连接池
2021/04/06 MySQL
vue如何批量引入组件、注册和使用详解
2021/05/12 Vue.js
用Python可视化新冠疫情数据
2022/01/18 Python
Python matplotlib绘制条形统计图 处理多个实验多组观测值
2022/04/21 Python