为什么要这样设计,还是我理解错误 03-11-04 chinahero 在一些开源项目中,我经常看到这样的类设计代码,成员变量用抽象类或接口比如lucene中的final class DocumentWriter { private Analyzer analyzer; private Directory directory; private FieldInfos fieldInfos; private int maxFieldLength;...}其中 Directory,Analyzer 是抽象类,这样设计的目的是什么?另外,如果用接口和用抽象类的区别是什么?
hbc20 2003-11-05 09:38 sorry,上面的我说错了,我用的是C++,c++中的接口是纯需函数,只能定义为指针,不能定义为成员变量。 这里用抽象类,目的还是可以方便扩展吧,但是在调用的时候,抽象类中的函数必须已经实现好了,同时也可以实现接口的功能,这样用比接口更加灵活了。