接口与抽象类有何区别?(50分)

  • 主题发起人 主题发起人 NEDVED
  • 开始时间 开始时间
N

NEDVED

Unregistered / Unconfirmed
GUEST, unregistred user!
请问大家,接口(interface)与抽象类有何区别?
 
怎么说呢。
在抽象程度上,接口和抽象类差不多。
不同之处在于,如果你声明了一个抽象类,由于Java不支持多重继承,所以你必须注意到你的所有后继
类都必须从该抽象类继承。如果使用接口,你的类设计就没有这个限制。
在你需要定义一些抽象行为的情况下,或许设计一个接口,然后再用一个抽象类来实现一些你需要的行为
的设计更合理一些。
接口自身也会带来一些不便。如果你决定使用接口,请非常仔细的设计它。因为如果你有10个类都实现
了这个interface,你再想在接口里增加一个方法,那么你必须更改所有类,增加这个方法。
否则你必须做一个新的接口。
 
多人接受答案了。
 
接口中不能有被實現的方法,抽象類中可以有
 
建议你看看 "Delphi COM深入编程" [:)]
 
后退
顶部