首页 > 作文

PHP中抽象类和接口的区别

更新时间:2023-04-08 00:14:06 阅读: 评论:0

抽象类

抽象类无法被实例化,它的作用是为所有继承自它的类定义(或部分实现)接口。使用 abstract 关键字定义抽象类。可以像在普通类中那样在抽象类中创建方法和属性,在大多数情况下,一个抽象类至少包含一个抽象方法,抽象方法也是通过 abstract 关键字声明的。抽象方法只有方法声明,没有方法实现。不能编写方法体。
abstract class shopproductwriter{    protected $pro武汉房屋租赁duct = [];    /**     * 抽象类中可以定义普通方法     */    public function三民主义和共产主义 addproduct($shopproduct)    {        $this->product = $shopproduct;    }    /**     * 定义一个抽象方法,只有方法声明,没有方法实现     */    abstract public function write();}
任何继承自抽象类的类都必须实现所有的抽象方法,否则它自己就必须被定义为抽象类。子类不能仅仅实现抽象方法,还必须遵守方法签名。这意味着实现方法的访问控制不能比抽象方法更严格。实现方法还需要有与抽象方法相同数量的参数,以及相同的类型提示。
class xmlp钻冰求火roductwrit安全生产奖惩制度er extends shopproductwriter{    /**     * 任何继承自抽象类的类都必须实现所有的抽象方法     */    public function write()    {        echo 'xmlproductwriter';    }}

接口

抽象类允许我们提供一些实现,但接口则是纯粹的模板。接口只定义功能,不能有实现。可以有属性和方法的声明,但不能有方法体。使用 interface 关键字声明接口。
interface price{    /**     * 只有方法声明,没有方法实现     */    public function getprice();}
任何实现该接口的类都必须实现这个接口定义的所有方法,否则这个类就只能被声明为抽象类。可以在类的声明中使用 implements 关键字让它实现接口。
class shopproduct implements price{    protected $price;    public function getprice()    {        // todo: implement getprice() method.    celebrate什么意思    return $this->price;    }}
一个实现类与它所实现的接口具有相同的类型。一个类可以在继承一个父类的同时实现多个接口,implements 关键字后面跟着多个接口的名字,它们之间由逗号分隔开来。

本文发布于:2023-04-08 00:14:05,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/zuowen/dfec4043cdf7b875e99bb757bf0e8266.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:PHP中抽象类和接口的区别.doc

本文 PDF 下载地址:PHP中抽象类和接口的区别.pdf

标签:方法   抽象   接口   抽象类
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图