尽量使用接口, 而不是具体的实现.
尽量使用对象的组合,而不采用类的继承.
抽象类和接口相比有一些优点.采用抽象类时,如果在基类中添加方法不会影响客户端和执行.子类必须按照一定的方式重写抽象类中所有的抽象函数.如果客户端不使用新方法,它虽然继承了这个方法,但却没有使用或修改它.而接口中每个方法都必须实现.
抽象类的另一个优点是可以添加一些默认的行为,还可以创建一些固定的方法让子类来执行.当然,并不是所有的子类都需要这些默认的行为和方法.如果对这些默认的行为或方法进行了修改,子类在实现过程中可能产生意想不到的结果.因此可以看出,使用抽象类和接口来管理这些依赖关系比使用具体类和具体方法要灵活一些.
在选择使用抽象类还是接口时,要依据具体的项目.如果使用过程中要加入新的方法采用抽象类更好一些.如果基类是固定的,不允许对其作任何修改,则选择接口.选择使用抽象类还是接口之前,要仔细考虑项目以后的发展.如果弄清楚使用项目过程中的各种因素及项目的发展情况,能够选择更适合的设计模式,从而更好地完成设计任务.
分享到:
相关推荐
杨超线代笔记.pdf杨超线代笔记.pdf杨超线代笔记.pdf杨超线代笔记.pdf杨超线代笔记.pdf杨超线代笔记.pdf杨超线代笔记.pdf杨超线代笔记.pdf杨超线代笔记.pdf杨超线代笔记.pdf杨超线代笔记.pdf杨超线代笔记.pdf杨超线代...
HTML笔记. J2EE笔记. Javascript笔记. JAVA笔记.oracle 笔记.Linux笔记.tomcat笔记.面试问题.数据结构.听韩顺平的笔记.正则表达式.等,我是我在上大学时学习做的笔记,拿出来和大家共享。。
java学习笔记java学习笔记.zipjava学习笔记.zipjava学习笔记.zipjava学习笔记.zipjava学习笔记.zipjava学习笔记.zipjava学习笔记.zipjava学习笔记.zipjava学习笔记.zipjava学习笔记.zipjava学习笔记.zipjava学习笔记...
Springcloud学习笔记.md,Springcloud学习笔记.md,Springcloud学习笔记.md,Springcloud学习笔记.md,Springcloud学习笔记.md,Springcloud学习笔记.md,Springcloud学习笔记.md,Springcloud学习笔记.md,Spring...
计算机二级C语言笔记.zip计算机二级C语言笔记.zip计算机二级C语言笔记.zip 计算机二级C语言笔记.zip计算机二级C语言笔记.zip计算机二级C语言笔记.zip 计算机二级C语言笔记.zip计算机二级C语言笔记.zip计算机二级...
软考网络工程师全面复习笔记..doc
HCIP-Datacom 笔记.exe
人大高鸿业版西方经济学(包括微观和宏观部分)笔记....docx
管理心理学 自考复习笔记..doc
2018年信息系统项目管理师复习精华笔记.doc2018年信息系统项目管理师复习精华笔记.doc2018年信息系统项目管理师复习精华笔记.doc2018年信息系统项目管理师复习精华笔记.doc2018年信息系统项目管理师复习精华笔记.doc...
期货从业资格考试-基础知识笔记..docx
期货从业资格考试-基础知识笔记..doc
教师资格证文化素养讲义整理精华笔记..pdf
Redis之《狂神说》学习笔记.md,最全笔记!!!
小学教师资格证《综合素质》重点笔记..docx
软件测试-软件测试视频教程学习笔记.zip软件测试-软件测试视频教程学习笔记.zip软件测试-软件测试视频教程学习笔记.zip软件测试-软件测试视频教程学习笔记.zip软件测试-软件测试视频教程学习笔记.zip软件测试-软件...
网络安全基础知识思维导图、大学笔记.zip网络安全基础知识思维导图、大学笔记.zip网络安全基础知识思维导图、大学笔记.zip网络安全基础知识思维导图、大学笔记.zip网络安全基础知识思维导图、大学笔记.zip网络安全...
机器学习Scikit-Learn和TensorFlow的资料笔记.zip机器学习Scikit-Learn和TensorFlow的资料笔记.zip机器学习Scikit-Learn和TensorFlow的资料笔记.zip机器学习Scikit-Learn和TensorFlow的资料笔记.zip机器学习Scikit-...
51单片机(STC89C52RC)源代码笔记.zip51单片机(STC89C52RC)源代码笔记.zip51单片机(STC89C52RC)源代码笔记.zip51单片机(STC89C52RC)源代码笔记.zip51单片机(STC89C52RC)源代码笔记.zip51单片机(STC89C52RC)源代码笔记...