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 相关文章推荐
第四节 构造函数和析构函数 [4]
Oct 09 PHP
PHP form 表单传参明细研究
Jul 17 PHP
PHP安全防范技巧分享
Nov 03 PHP
PHP中的print_r 与 var_dump 输出数组
Jun 13 PHP
PHP基于单例模式编写PDO类的方法
Sep 13 PHP
PHP从二维数组得到N层分类树的实现代码
Oct 11 PHP
thinkphp Apache配置重启Apache1 restart 出错解决办法
Feb 15 PHP
PHP实现图片的等比缩放和Logo水印功能示例
May 04 PHP
thinkphp ajaxfileupload实现异步上传图片的示例
Aug 28 PHP
php strftime函数的详细用法
Jun 21 PHP
php过滤htmlspecialchars() 函数实现把预定义的字符转换为 HTML 实体用法分析
Jun 25 PHP
tp5递归 无限级分类详解
Oct 18 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与C#分别格式化文件大小的代码
2011/05/14 PHP
PHP array_multisort() 函数的深入解析
2013/06/20 PHP
thinkphp四种url访问方式详解
2014/11/28 PHP
php备份数据库类分享
2015/04/14 PHP
Yii清理缓存的方法
2016/01/06 PHP
不能再简单的无闪刷新验证码原理很简单
2007/11/05 Javascript
语义化 H1 标签
2008/01/14 Javascript
javascript笔试题目附答案@20081025_jb51.net
2008/10/26 Javascript
jquery实现输入框动态增减的实例代码
2013/07/14 Javascript
javascript的动态加载、缓存、更新以及复用(一)
2014/06/09 Javascript
window.location.href的用法(动态输出跳转)
2014/08/09 Javascript
jQuery使用CSS()方法给指定元素同时设置多个样式
2015/03/26 Javascript
JavaScript实现的背景自动变色代码
2015/10/17 Javascript
jQueryUI DatePicker 添加时分秒
2016/06/04 Javascript
归纳下js面向对象的几种常见写法总结
2016/08/24 Javascript
JS实现拖拽的方法分析
2016/12/20 Javascript
利用JS实现文字的聚合动画效果
2017/01/22 Javascript
JavaScript关联数组用法分析【概念、定义、遍历】
2017/03/15 Javascript
HTML5+Canvas调用手机拍照功能实现图片上传(上)
2017/04/21 Javascript
Angular.JS中指令ng-if、ng-show/ng-hide和ng-switch的使用教程
2017/05/07 Javascript
vue组件父子间通信之综合练习(聊天室)
2017/11/07 Javascript
vue 组件中使用 transition 和 transition-group实现过渡动画
2019/07/09 Javascript
详解JavaScript 作用域
2020/07/14 Javascript
Python检测QQ在线状态的方法
2015/05/09 Python
Python中的random()方法的使用介绍
2015/05/15 Python
Python实现绘制双柱状图并显示数值功能示例
2018/06/23 Python
python3对接mysql数据库实例详解
2019/04/30 Python
django框架模型层功能、组成与用法分析
2019/07/30 Python
100行Python代码实现每天不同时间段定时给女友发消息
2019/09/27 Python
TENSORFLOW变量作用域(VARIABLE SCOPE)
2020/01/10 Python
Python求平面内点到直线距离的实现
2020/01/19 Python
python3 kubernetes api的使用示例
2021/01/12 Python
html5 canvas绘制放射性渐变色效果
2018/01/04 HTML / CSS
政府班子四风问题整改措施思想汇报
2014/10/08 职场文书
安全生产警示教育活动总结
2015/05/09 职场文书
2016年9月份红领巾广播稿
2015/12/21 职场文书