php设计模式之接口

认真阅读: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(),只要保证实现了接口中的所有方法,就可以根据需要增加更多的其他方法和属性

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章