<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<head><meta forua="true" http-equiv="Cache-Control" content="max-age=0" /></head>
<card title="详讲PHP中面向对象之：接口（interface）的应用" id="card1">
<p> 游客</p><p>
标题:详讲PHP中面向对象之：接口（interface）的应用<br/>
正文:<br/>
接口PHP类是单继承，也就是不支持多继承，当一个类需要多个类的功能时，继承就无能为力了，为此PHP引入了接口技术如果一个抽象类里面的所有方法都是抽象方法，且没有声明变量，而且接口里面所有的成员都是public权限的，那么这种特殊的抽象类就叫接口接口使用interface关键字定义，并使用implements来实现接口的方法，且必须完全实现实现一个接口下面给出PHP接口实现的一个实际例子，在此创建并实现了一个名为IPillage的接口，IPillage接口如下：interface IPillage{ function emptyBakAccount(); function burnDocument();}然后通过Executive类实现此接口：class Executive extends Employee implements IPillage{ private $totalStockOptions; function emptyBankAccount() {  echo &amp;quot;Call CFO and ask to transfer funds to Swiss bank account.&amp;quot;; } function burnDocuments() {  echo &amp;quot;Torch the office suite.&amp;quot;; }}因为公司中所有级别的人都能进行侵占，所以可以有Assistant类实现此接口：class Assistant extends Employee implements IPillage{ function takeMome() {  echo &amp;quot;Taking memo...&amp;quot;; } function emptyBankAccount() {  echo &amp;quot;Go on shopping spree with office credit card.&amp;quot;; } function burnDocuments() {  echo &amp;quot;Start small fire in the trash can.&amp;quot;; }}可以看到，接口特别有用。因为，虽然它们定义了发生某一行为需要多少个方法，以及各个方法的名字，但接口允许不同的类，以不同的方式来实现这些方法。在这个例子中，对于烧文<br/><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=2173&amp;Page=1">[&lt;&lt;]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=2173&amp;Page=1">[[1]]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=2173&amp;Page=2">[2]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=2173&amp;Page=3">[3]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=2173&amp;Page=3">[&gt;&gt;]</a><br/>
<br/>
<a href="wap.asp?act=Com&amp;id=2173">查看评论(0)</a><br/>
<a href="wap.asp?act=AddCom&amp;inpId=2173">发表评论</a><br/><br/>

<br/>

<br/>
<a href="http://camnpr.com/wap.asp">首页</a>
</p>
</card>
</wml>