使用关键字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来声明使用接口就讲解完毕了。

相关推荐
Xiu Yan22 分钟前
Python 数据分析:数据分析步骤
开发语言·python·数据分析
魔众29 分钟前
ModStartBlog v11.3.0 安全加固、体验优化,自动化测试更强大
开源·php·laravel
黑妹天下第一乖31 分钟前
小智改造实战解读-用kokoro-onnx替换云端 TTS 的完整记录
大数据·开发语言·人工智能·python·交互
郑州光合科技余经理32 分钟前
本地生活平台搭建:跨业态用户标识怎么贯通
java·开发语言·前端·后端·uni-app·php·ai编程
深盾科技_Virbox41 分钟前
云端与本地并行交付,软件许可管理如何实现统一运营?
java·大数据·开发语言·安全
xuxigifxfh1 小时前
HJ15 求int型正整数在内存中存储时1的个数
java·开发语言·华为机考
Wokoo71 小时前
自动化测试入门:核心场景、回归测试与 Web 自动化环境搭建
java·开发语言·测试工具
tachibana21 小时前
Golang 中数组和切片的区别?
开发语言·后端·golang·数组·切片
智购科技无人售货机工厂店2 小时前
玻璃瓶饮料破损率突然上升,排查发现是取货口缓冲垫老化了~YH
java·开发语言·人工智能·python·eclipse
枫叶丹42 小时前
语音 AI 怎样边听边答:实时对话系统的工作原理
开发语言·人工智能·chatgpt·开源·php·agent·codex