首页 / PHP / 在PHP中,何时用抽象类,何时用接口?
在PHP中,何时用抽象类,何时用接口?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了在PHP中,何时用抽象类,何时用接口?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1951字,纯文字阅读大概需要3分钟。
内容图文
![在PHP中,何时用抽象类,何时用接口?](/upload/InfoBanner/zyjiaocheng/243/721086769eae412a903e13c764a2e02d.jpg)
请详细说明为什么使用抽象类而不使用接口,或者为什么使用接口而不使用抽象类
回复内容:
请详细说明为什么使用抽象类而不使用接口,或者为什么使用接口而不使用抽象类
强调动作用接口,强调类别用抽象。
我也想过这个问题,两者确实比较像。
使用接口,你是想规定开发者(包括自己)需要实现一系列特定的类方法。
使用抽象类,你是想规定开发者(包括自己)需要实现一系列特定的类方法并且提供一些基本的类方法以供开发者使用。
另一个区别是:一个类可以实现多个接口,但是只能继承一个抽象类。如果你的代码是要规范一个很细的功能(比如Iterator
什么的),那就用接口。其他的则可以用接口也可以用抽象类。
最后,有人建议如果不知道该用接口还是抽象类,可以做的是定义一个接口然后写一个实现那个接口的抽象类。
接口是一种协定,抽象类则相当于类模板。
使用抽象类,而不要使用接口来分离协定与实现。
如果需要提供多态层次结构的值类型,使用接口。
如果一个类型必须实现多个协定,或者协定适用于多种类型,使用接口。
虽然抽象类和接口都支持将协定与实现分离开来,但接口不能指定以后版本中的新成员,而抽象类可以根据需要添加成员以支持更多功能。
优先考虑定义类,而不是接口。
事实抽象类和接口类,在应用中,有无都不影响程序运行;只是规范作用而已
比如抽象类:比如定义当前类只能继承使用,不可直接引用
接口类:最大作用就是起到规范作用。适用底层框架编写完成后。为了后续的拓展,但又得保证代码规范,一般会写接口类,以便后期开发人员规范开发!
根据特点来,如果只是制定规范用接口,里面只能定义常量和公有抽象方法
抽象类只是说不能被实例化,里面和普通类一样什么都能写,当然还可以写抽象方法
抽象用于不同的事物,而接口用于事物的行为
其实抽象类和接口的区别不是太大,接口里不能有自己的实现,抽象类里面可以有自己的实现,无论是接口还是抽象都是为了实现依赖抽象不要依赖具体实现的原则----**
依赖倒置的原则
**
我自己觉得php里的接口纯属扯淡
单继承多接口的情况下,接口是血统的一个关键因素,一个接口可以规定一个业务场景。。比如你是一个人,是抽象类继承过来的,你需要实现接口比如是某个公司的员工,是程序猿,这种方法类的层级相对较少。也可以某公司员工是一个抽象类继承人,然后程序猿继承某公司员工,这样。看设计上怎么做。trait和接口能在第一种模式中提供极大的重用性
内容总结
以上是互联网集市为您收集整理的在PHP中,何时用抽象类,何时用接口?全部内容,希望文章能够帮你解决在PHP中,何时用抽象类,何时用接口?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。