使用关键字interface来声明使用接口-PHP8知识详解

继承特性简化了对象、类的创建,增加了代码的可重用性。但是php8只支持单继承,如果想实现多继承,就需要使用接口。PHP8可以实现多个接口。

接口类通过关键字interface声明,接口中不能声明变量,只能使用关键字const声明为常量成员属性,接口中声明的方法必须是抽象方法,并且接口中所有的成员都必须是 public 的访问权限。

语法格式如下:

复制代码
interface 接口名称{         //使用 interface 关键字声明接口
常量成员                    //接口中的成员只能是常量
抽象方法                    //https://www.phpfw.com/tag/chengyuanfangfa/必须是抽象方法
}

与继承使用extends关键字不同的是,实现接口使用的是implements关键字:

class 实现接口的类implements 接口名称

实现接口的类必须实现接口中声明的所有方法,除非这个类被声明为抽象类

使用关键字interface来声明使用接口,参考代码:

复制代码
<?php
    interface Intfruit{
        //这两个方法必须在https://www.phpfw.com/tag/zilei/中继承,https://www.phpfw.com/tag/xiushifu/必须为public
        public function getName();
        public function getPrice();
    }
    class Fruit implements Intfruit{
        https://www.phpfw.com/tag/private/ $name = '苹果';
        private $price = '8.88元';
        //具体实现接口声明的方法
        public function getName(){
            return $this->name;
        }
        public function getPrice(){
            return $this->price;
        }
        //这里还可以有自己的方法
        public function getOther(){
            return '今日的特价水果是苹果!';
        }
    }
    $fruit = new Fruit();
    echo '水果的名称是:'.$fruit->getName();
    echo '<br/>';
    echo '水果的价格是:'.$fruit->getPrice();
    echo '<br/>';
    echo $fruit->getOther();
?>

以上代码在PHP8中的运行结果是:

复制代码
水果的名称是:苹果
水果的价格是:8.88元
今日的特价水果是苹果!

到此为止,使用关键字interface来声明使用接口就讲解完毕了。

相关推荐
BingoGo2 小时前
OpenSwoole 26.2.0 发布:支持 PHP 8.5、io_uring 后端及协程调试改进
后端·php
JaguarJack2 小时前
OpenSwoole 26.2.0 发布:支持 PHP 8.5、io_uring 后端及协程调试改进
后端·php·服务端
JaguarJack1 天前
推荐 PHP 属性(Attributes) 简洁读取 API 扩展包
后端·php·服务端
BingoGo1 天前
推荐 PHP 属性(Attributes) 简洁读取 API 扩展包
php
JaguarJack2 天前
告别 Laravel 缓慢的 Blade!Livewire Blaze 来了,为你的 Laravel 性能提速
后端·php·laravel
郑州光合科技余经理3 天前
代码展示:PHP搭建海外版外卖系统源码解析
java·开发语言·前端·后端·系统架构·uni-app·php
feifeigo1233 天前
matlab画图工具
开发语言·matlab
dustcell.3 天前
haproxy七层代理
java·开发语言·前端
norlan_jame3 天前
C-PHY与D-PHY差异
c语言·开发语言
多恩Stone3 天前
【C++入门扫盲1】C++ 与 Python:类型、编译器/解释器与 CPU 的关系
开发语言·c++·人工智能·python·算法·3d·aigc