认真阅读:OPP和设计模式的另一个组成是接口(interface),接口也有抽象方法,不过不像在抽象类中那样包含具体方法和变量(但是可以包含具体常量——php独有特性),关于接口是设计模式和OOP重要结构要素;
要创建一个接口要使用关键字interface而不是class、一般约定接口以I或者i开头;下面举个简单的例子:IMethodHoder.php
<?php
interface IMethodHoder{
public function getInfo();
public function sendInfo($info);
public function calculate($first,$sencond);
}
要实现一个接口,需要使用implements语句而不是extend,实例:ImplementAlpha.php
<?php
//引入IMethodHoder接口文件
include_once('IMethodHoder.php');
class ImplementAlpha implements IMethodHoder{
public function getInfo($info)
{
// TODO: Implement getInfo() method.
echo "This is NEWS! ".$info."<br/>";
}
public function sendInfo($info)
{
// TODO: Implement sendInfo() method.
return $info;
}
public function calculate($first, $sencond)
{
// TODO: Implement calculate() method.
$calculated = $first * $sencond;
return $calculated;
}
public function useMethods()
{
$this->getInfo('The Sky is Blue……');
echo $this->sendInfo('She is a girl!')."<br/>";
echo "You make $". $this->calculate(5,30) . " In your part-time job!<br/>";
}
}
$woker = new ImplementAlpha();
$woker->useMethods();
需要说明。除了实现接口中的方法外,ImplementAlpha类中还包含了useMethods(),只要保证实现了接口中的所有方法,就可以根据需要增加更多的其他方法和属性