作为开发者,谁从来没有陷入过周而复始地争论应该是使用接口还是抽象类?这是一场永无休止的争论,不同阵营的人总是坚定地坚持自己的立场。应当使用接口还是抽象类?对于初学者来说那更是满头雾水。
这个问题应该考虑一下几个因素:
asp.net 2.0 bete 测试前的构造完全是通过战略模式的定义,即通过接口,实现提供程序模型。在bate 1 时,基类(抽象类)代替了接口,因而发行版也使用基类。asp.net 团队看起来对这个问题有了解决方案,不是吗?
接口定义了行为规范,就是相关的方法地一个集合,但是没有具体的实现。接口类型是一种类型的部分描述,可能有多个类支持它,正因此,很多接口都采用后缀“able”作为结尾,诸如IDisposable,IComparable,IFormattable。如果一个接口只有一个有用的实现类,则该接口可能设计不当而造成的后果。
基类定义了子类的公共行为和公共编程接口。类比接口灵活。如果要添加一个放入到类里,则只要该方法不是抽象地,那么任何派生类(子类)都可以使用到。而接口就不行。
根据这些因素,只要有可能,尽量使用抽象类而不使用接口(但不是总是使用抽象类)
相关文章
- 调用获取学生信息的接口,保存到excel里面的小程序
- python接口自动化(三十九)- logger 日志 - 上(超详解)
- jmeter接口测试--响应结果Unicode转码成中文
- 10_java之继承和抽象类
- 让SpringMVC支持可版本管理的Restful接口
- SpringCloud微服务项目跨模块接口调用中,将接口返回数据转换封装成实体类的实现
- BaseMapper接口的使用
- 修改 ens33 静态IP 网络接口配置文件:/etc/sysconfig/network-scripts/目录下
- postman请求不到返回体_PostMan请求不到接口问题
- postman请求某接口可以得到数据,离开postman却获取不到数据?问题解决:十几行代码,配置一个代理服务器