没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
1
累积:技海拾贝|Cumulation
抽象类与接口的区别
文:电力事业部 舒光前
abstract class 和 interface 是 Java 语言中对于抽象类定义进行支持的两种机制,正是
由于这两种机制的存在,才赋予了 Java 强大的面向对象能力。 abstract class 和 interface
之间在对于抽象类定义的支持方面具有很大的相似性,甚至可以相互替换,因此很多开发者
在进行抽象类定义时对于 abstract class 和 interface 的选择显得比较随意。
其实,两者之间还是有很大的区别的,对于它们的选择甚至反映出对于问题领域本质的
理解、对于设计意图的理解是否正确、合理。本文将对它们之间的区别进行一番剖析,试图
给开发者提供一个在二者之间进行选择的依据。
理解抽象类
abstract class 和 interface 在 Java 语言中都是用来进行抽象类(本文中的抽象类并非
从 abstract class 翻译而来,它表示的是一个抽象体,而 abstract class 为 Java 语言中用
于定义抽象类的一种方法,请读者注意区分)定义的,那么什么是抽象类,使用抽象类能为
我们带来什么好处呢?
在面向对象的概念中,我们知道所有的对象都是通过类来描绘的,但是反过来却不是 这
样。并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具
体的对象,这样的类就是抽象类。抽象类往往用来表征我们在对问题领 域进行分析、设计中
得出的抽象概念,是对一系列看上去不同,但是本质上相同的具体概念的抽象。
比如:如果我们进行一个图形编辑软件的开发,就会发现问题领域存在着圆、三角形 这
样一些具体概念,它们是不同的,但是它们又都属于形状这样一个概念,形状这个概念在问
题领域是不存在的,它就是一个抽象概念。正是因为抽象的概念在问题 领域没有对应的具体
概念,所以用以表征抽象概念的抽象类是不能够实例化的。
资源评论
abstb
- 粉丝: 0
- 资源: 3
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功