今天早些时候,我正在研究
PHP的
abstract classes,interfaces和
traits.
据我所知,一个抽象类说“使用我的任何东西都将使用这些方法和属性”,接口说“使用我的任何东西都必须具有这些方法和属性”,特征说“使用我的任何东西也将具有这些方法和属性“.
现在,我的问题是,如果在使用接口和特征时获得相当于抽象类,为什么会有抽象类?
如果我错了,接口和特征不等同于抽象类,你能否解释为什么不是这样的?
这有点像是说浮动存在,为什么整数存在,它们都有自己的特定目的,但更重要的是看一下PHP的历史将会揭示一下:
PHP最初没有任何对类的支持,多年来越来越多的增加了扩展PHP的功能,因为我们进一步推进(并且可争辩地追赶其他基于OOP的语言)
PHP 5.0
2004年 – 抽象类和接口介绍
PHP 5.4
2012 – Traits介绍
那是一个8年的休息时间,在那个时候,需要增加对interfaces with implementations的支持,所以特征诞生了
原文地址:https://www.jb51.cc/php/140227.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。