PHP中的抽象类跟接口

php中文网
发布: 2016-06-20 12:32:28
原创
1029人浏览过

很多东西不经常用就会忘记,当你去面试的时候别人问的细你会发懵,这里稍微总结下:

一、什么是抽象类

抽象类其实跟父类的方法有点类似,避免子类重复写一些功能,只需要继承这个类就拥有了父类的所有方法,不同的是抽象类会去定义抽象方法,子类继承的时候必须实现抽象方法,因此适用于一些有固定规范的情形

二、抽象类特性

1、不能直接实例化,必须先继承,然后再实例化子类

立即学习PHP免费学习笔记(深入)”;

2、抽象类至少要包含一个以上的abstract方法,这些方法就是子类必须要实现的方法,其他的方法子类直接继承,可以覆盖

 // 强制要求子类定义这些方法 abstract protected function getValue(); abstract protected function prefixValue($prefix); // 普通方法(非抽象方法) public function printOut() {    print $this->getValue(); }
登录后复制

3、子类必须实现抽象类中定义的抽象方法,并且方法的可见性必须和抽象类中一样(或者更为宽松)。如果抽象类中某个抽象方法被声明为protected,那么子类中实现的方法就应该声明为protected或者public,而不 能定义为private

三、什么是接口类

PHP5学习对象教程
PHP5学习对象教程

PHP5学习对象教程由美国人古曼兹、贝肯、瑞桑斯编著,简张桂翻译,电子工业出版社于2007年12月1日出版的关于PHP5应用程序的技术类图书。该书全面介绍了PHP 5中的新功能、编程方法及设计模式,还分析阐述了PHP 5中新的数据库连接处理、错误处理和XML处理等机制,帮助读者系统了解、熟练掌握和高效应用PHP。

PHP5学习对象教程 291
查看详情 PHP5学习对象教程

接口是一种规范,他不去定义方法的实现,只要求我这些接口必须被实现,具体怎么实现是你的事

四、接口类的特性

1、接口类的所有方法都只包含声明(方法名称跟入参),不能包含方法体

interface  SyncAccountInterface{    public function syncLogin($userId);    public function checkUsername($username, $randomName = '');}
登录后复制

2、接口类的所有方法都必须在实现接口类的方法中都实现,,少一个实现就会报错

3、一个类可以实现多个接口,接口可以解决类的继承不能继承多个类的问题

五、抽象类跟接口类的异同

1、抽象类跟接口类都包含了子类必须去实现的方法,不同的是抽象类还可以包括其他方法子类不用去实现,直接继承或覆盖这些方法,但标识为abstract的方法必须去实现。接口类不同,里面所有的方法子类必须去实现。

2、一个类只能继承一个类,但可以实现多个接口,因此在不同的使用场合我们需要抽象类,也需要接口,根据使用场合定

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号