温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

PHP中接口interface的示例分析

发布时间:2021-10-26 15:11:22 来源:亿速云 阅读:147 作者:小新 栏目:编程语言

小编给大家分享一下PHP中接口interface的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

接口的声明

接口既然是一种特殊的类,那就有它的声明方法,称为接口技术。我们在之前的学习中知道,正常类的声明是使用“class”关键字来进行声明的,接口既然特殊那就不会用正常的声明方法,要通过“interface”关键字来实现接口的声明。

声明接口interface 关键字的语法格式如下:

interface 接口名称{
// 常量成员
 // 抽象方法
}

其中需要注意的是:

  • 接口中所有的方法都是抽象方法,并且在方法前不需要使用abstract关键字进行修饰。因为默认权限是public公有的,所以在接口中不需要使用public访问权限来进行修饰。

  • 接口中只能使用const关键字生命为常量类型的成员属性,在接口中不能声明变量。

  • 接口不能实例化为对象,接口可以直接使用接口名称在接口外面获取常量成员的值。

接下来通过示例来看一下,示例如下:

<?php
    interface Demo{
        const STUDY = '好好学习';
        const STUDY1 = '天天向上';
        function fun1();
        function fun2();
    }
    echo Demo::STUDY.'<br>';
    echo Demo::STUDY1;
?>

输出结果:

PHP中接口interface的示例分析

由此我们便通过interface 关键字完成了接口的声明。

接口的应用

接口是不能进行实例化操作的,所以想要使用接口中的成员的话,就需要借助子类。我们通过implements关键字可以实现接口的继承,要是有多个接口继承的话,每个接口之间要使用,隔开。

在通过implements关键字继承接口的同时,还可以使用extends关键字来继承一个类。可以理解为,可以在继承一个类的同时实现多个接口,需要注意的是,一定要先使用extends继承类再去使用implements实现多个接口。它的语法格式如下:

class 类名 extends 父类名 implements 接口一, 接口二, ..., 接口 n {
// 实现所有接口中的抽象方法
}

我们通过示例来看一下接口的应用,示例如下:

<?php
    interface Demo{
        const STUDY = '好好学习';
        const STUDY1 = '天天向上';
        function fun1();
        function fun2();
    }
    class Website implements Demo{
        public function fun1(){
            echo self::STUDY.'<br>';
        }
        public function fun2(){
            echo self::STUDY1;
        }
    }
    $obj = new Website();
    $obj -> fun1();
    $obj -> fun2();
?>

输出结果:

PHP中接口interface的示例分析

其中运行后需要注意的是:既然要通过子类继承了接口中的方法,那么接口中的所有方法都必须在子类中实现,否则 PHP 将出现错误信息。

不仅有上述实例的应用,我们还可以使用 extends 关键字让一个接口去继承另一个接口,实现接口之间的扩展。在下面的示例中先定义一个接口 One,然后再定义一个接口 Two 来继承 One:

示例如下:

    interface One{
        function fun1();
        function fun2();
    }
    interface Two extends One{
        function fun3();
        function fun4();
    }

还有就是如果需要使用抽象类去实现接口中的部分方法,也需要使用 implements 关键字。

示例如下:

    interface Demo{
        function fun1();
        function fun2();
    }
    abstract class Website implements Demo{
        public function fun2(){
            ... ... ;
        }
        abstract function fun3();
    }

以上是“PHP中接口interface的示例分析”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI