对象接口
来源:互联网 发布:美国历史人物 知乎 编辑:程序博客网 时间:2024/06/05 08:44
使用接口(interface),可以指定某个类必须实现哪些方法,但不需要定义这些方法的具体内容。
接口是通过 interface 关键字来定义的,就像定义一个标准的类一样,但其中定义所有的方法都是空的。
接口中定义的所有方法都必须是公有,这是接口的特性。
实现(implements)
要实现一个接口,使用 implements 操作符。类中必须实现接口中定义的所有方法,否则会报一个致命错误。类可以实现多个接口,用逗号来分隔多个接口的名称。
常量
接口中也可以定义常量。接口常量和类常量的使用完全相同,但是不能被子类或子接口所覆盖。
范例
Example #1 接口示例
<?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; }}// 下面的写法是错误的,会报错,因为没有实现 getHtml():// Fatal error: Class BadTemplate contains 1 abstract methods// and must therefore be declared abstract (iTemplate::getHtml)class BadTemplate implements iTemplate{ private $vars = array(); public function setVariable($name, $var) { $this->vars[$name] = $var; }}?>
Example #2 使用接口常量
<?phpinterface a{ const b = 'Interface constant';}// 输出接口常量echo a::b;// 错误写法,因为常量不能被覆盖。接口常量的概念和类常量是一样的。class b implements a{ const b = 'Class constant';}?>
0 0
- 对象接口
- 对象接口
- 对象接口和接口库
- COM对象和接口
- COM 对象 和 接口
- 接口定义的对象
- 对象与接口
- QTP对象接口
- 对象的接口
- SAPI 对象和接口
- 通过接口引用对象
- 通过接口引用对象
- 通过接口引用对象
- 面向对象之接口
- COM 对象 和 接口
- 类、对象和接口
- xml接口对象化
- 通过接口引用对象
- iOS 证书介绍
- Java虚拟机类加载机制
- 怎么运用PDF Transformer+实现文本到PDF的添加
- Web服务器错误代码
- 数据库:自己理解的“数据库事务隔离级别”
- 对象接口
- Interview Vocabulary
- c++实验2-分段函数求值
- iOS9 HTTP 不能正常使用的解决办法
- C语言学习-指针-3.24
- javaScript基础
- JavaScript 笔记 - <script>标签 defer属性 (延迟脚本)
- seconds_behind_master监控复制推延的不足及pt-heartbeat改进方法
- ScrollView嵌套ListView