在OOD(面向对象设计)中,经常会用到抽象类或接口,【注:在C++中,没有接口的概念,只有抽象类;而在Java中两者都存在】。而在使用过程中,也许会有不少人认为接口和抽象类差不多,然后就想当然地觉得可以相互完全替换。事实上,虽然他们有很多相似点,但也有很大差异。
分类:
其他好文 时间:
2015-12-18 18:40:55
阅读次数:
196
抽象类是从一系列相关对象中抽象出来的概念, 因此反映的是事物的内部共性,用以表示对象本质,即“是什么”接口是为了满足外部调用而定义的一个功能约定,因此反映的是事物的外部特性,表述的是功能,即“会什么”,或“能做什么”区别:
分类:
其他好文 时间:
2015-12-10 18:57:52
阅读次数:
130
abstract class A{public abstract void F();}abstract class B: A{public void G() {}}class C: B{public override void F() {// actual implementation of F}}...
分类:
其他好文 时间:
2015-11-15 00:46:34
阅读次数:
244
c#接口与抽象类的区别abstract 修饰符用于表示所修饰的类是不完整的,并且它只能用作基类。抽象类与非抽象类在以下方面是不同的:抽象类不能直接实例化,并且对抽象类使用 new运算符是编译时错误。虽然一些变量和值在编译时的类型可以是抽象的,但是这样的变量和值必须或者为null,或者含有对非抽象类的...
分类:
其他好文 时间:
2015-09-25 17:54:44
阅读次数:
163
接口1 因为java不支持多重继承,所以有了接口,一个类只能继承一个父类,但可以实现多个接口,接口本身也可以继承多个接口。2接口里面的成员变量默认都是public static final类型的。必须被显示的初始化。3 接口里面的方法默认都是public abstract类型的。隐式声明。4 接口没...
分类:
其他好文 时间:
2015-09-06 12:43:09
阅读次数:
169
. 重载与重写的区别: 重载(overload) | 重写(override) 1 方法的名称相同,参数个数、类型不同 | 方法名称、参数列表、返回值类型与父类完全相同 2 不要求方法的访问范围 | 子...
分类:
编程语言 时间:
2015-08-18 18:47:27
阅读次数:
132
类与类之间只能单继承类与接口之间可以多实现;接口与接口之间可以多继承; 声明变量方法和接口的关系和类的关系是否能构造对象类使用class关键字声明,修饰符是 public可以采用任何合法的方式进行声明可以采用任何合法的方式进行声明多实现单继承可以直接构造对象抽象类使用 abstrac...
分类:
其他好文 时间:
2015-08-16 01:59:59
阅读次数:
120
关键字: 抽象类与接口的区别abstract class和interface是Java语言中对于抽象类定义进行支持的两种机制,正是由于这两种机制的存在,才赋予了Java强大的面向对象能力。 abstract class和interface之间在对于抽象类定义的支持方面具有很大的相似性,甚至可以相互替...
分类:
其他好文 时间:
2015-08-09 22:09:25
阅读次数:
126
语法层次的我就不介绍了,下面从设计层面谈一下区别。考虑这样一个例子,假设在我们的问题领域中有一个关于Door的抽象概念,该Door具有执行两个动作open和close,此时我们可以通过abstract class或者interface来定义一 个表示该抽象概念的类型,定义方式分别如下所示:使用abs...
分类:
编程语言 时间:
2015-07-11 19:55:25
阅读次数:
142