PHP面向对象之面向接口开发

MengDe 144 2021-08-12

面向接口,是编程过程中一种常用的设计模式。

在某些加密类型语言中,例如JAVA、Go 分为服务端和调用端,比如打包的jdk等,服务端的程序员开发之后需要打包给其他程序员使用,他的代码加密的(不像PHP 可以直接看到源码里面有哪些方法),此时 就产生了这种开发设计模式,面向接口开发。

直接上代码:我将会在代码编写详细的注释。

<?php
/**
 * Created by MengDe.
 * @Author MengDe <9258405@qq.com>
 * @Date   2021/8/12 19:26
 * 面向接口编程案例
 */
//A写了个程序 打包给B 但是B不知道有哪些接口应该怎么做呢?
//首先 A定义了一个接口类A
interface ClassA
{
    //定义一个方法 定义了方法a
    public function a();
}

//然后 B再去定义类B 使用这个接口
class ClassB implements ClassA
{
    //    在类B里面 必须要实现a方法
    public function a()
    {
        // TODO: Implement a() method.
        echo '类B';
    }
}

class ClassC implements ClassA
{
    public function a()
    {
        // TODO: Implement a() method.
        echo '类C';
    }

}

//在其他程序员调用的时候 他就只需要看类A里面有哪些方法 而不用去关心方法是如何实现的
(new ClassB())->a();
(new ClassC())->a();

//另外 还有一个用途就是   得到了类A有哪些方法 可以强制的约束 例如缓存类
//定义一个公共的缓存接口
interface Cache
{
    public function set();
}

//此时 我们使用Redis作为缓存
class  RedisCache implements Cache
{
    public function set()
    {
        // TODO: Implement set() method.
        echo "写入缓存REDIS";
    }
}
class  MeCache implements Cache
{
    public function set()
    {
        // TODO: Implement set() method.
        echo "写入缓存Me";
    }
}
//在使用时 我们可以确定 缓存 里面必定有一个set方法

这就是我对面向接口开发的理解 如果有其他的问题,可以留言一起讨论!

上一篇:PHP面向对象之多态
下一篇:PHP面向对象之工厂模式
相关文章