php interface 接口

本文详细介绍了PHP中接口的定义与实现方法,包括接口作为类模板的作用、接口继承及其实现细节,并通过示例代码展示了如何在具体类中实现接口。
/**
 * interface 接口  接口其实是类的模板
 * 接口是类的模板
 * 类是对象的模板
 * implements 实现接口关键字
 * 定义接口是为了统一开发规范
 * 接口好比是产品说明书,业务就是使用这个产品,我们只需要知道他里面有什么功能,使用这些功能即可,至于里面的业务逻辑我们不需要知道
 * 在设计模块的时候一定要站长接口的高度去设计,是模块之间松耦合.
 */

interface Person//这里我们创建了两个接口方法
{
    public function eat();

    public function sheep();
}

class Man implements Person()
{
    //这里实现接口方法时,里面的方法必须和interface接口里创建的方法一致,否则报错
    public function eat()
    {
        echo '吃大餐';
    }

    public function sleep()
    {
        echo '睡觉';
    }
}

class L
{
    public static function factory(Person $user)//这里限定了所传参数必须实现了Person这个接口的实例化类对象,否则就会报错
    {
        return $user;
    }
}

$l = L::factory(new Man());


/**
 * 接口的继承
 */

interface Ia
{
    const NAME = 'zhangsan';//接口里面的常量
    public function eat();
}
echo Ia::NAME;//这里是访问接口里面常量的方法,和类的访问方法相同

interface Ib
{
    public function sleep();
}

//继承方式一
interface AB extends Ia,Ib
{

}

class Test implements AB
{
    public function eat()
    {
        echo '吃烧鸡';
    }

    public function sleep()
    {
        echo '不睡觉';
    }
}
echo Ia::NAME;//这里是访问接口里面常量的方法,和类的访问方法相同
$test = new Test();
$test->eat();
$test->sleep();

//继承方式二
class Test implements Ia,Ib//直接实现两个接口
{
    public function eat()
    {
        echo '吃烧鸡';
    }

    public function sleep()
    {
        echo '不睡觉';
    }
}
$test = new Test();
$test->eat();
$test->sleep();

 

转载于:https://www.cnblogs.com/enjie/articles/7966334.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值