Skybus
黄昏日晕
发贴: 111
积分: 6
|
于 2006-03-15 09:36
个人觉得: 与java接口中相对应的更应该是继承的概念,因为从动作行为上来看,java的接口是一个具有动态意义特征的描述,而抽象类则是一个具有静态意义特征的描述. java的抽象类应该是从C++等其他面向对象语言继承过来的,抽象类提供了一个机制用来将多个类的公共行为特征抽象到高级级别,从而使代码整体更加清晰,也就是说从代码查看的角度更加有层次感,有继承性,有点像现实生活中"家族"的概念;也像武侠小说中的"门派"的概念. java的接口不是java中的类,而是一组对类的要求,它更有点动态的特征,它更像是一个标准,它几乎没有"家族","门派"的概念,比如一个进行比较接口:
public interface Comparable { int compareTo(Object obj); int compareTo(ArrayList array); ... }
不仅可以对数字,字母进行排序而且还可以对对象进行排序,因为接口提供了这些行为的特征,具体实现那些特征完全取决于实现该接口的类,java的接口更具有一般性的行为,或者不恰当的说,java的接口像是一个公开的"武林秘笈",接受java接口的任何类都可以学习这些"秘笈". 总的来说,java中的抽象类的使用是从纵向的角度来扩展的,而java的接口是从丛向和横向的角度扩展的;从对代码的重用性和面向对象的本质来说,java的接口更能体现这些特征!
It's very hard to start!
|