Wednesday, July 29, 2009

Abstract Class vs Interface Table





































Feature Interface Abstract Class
Multiple inheritance A class may inherit severalinterfaces A class may inherit only one abstract class
Default implementation An interface cannot provide any code, just the signature. An abstract class can provide complete, default code and/or just the details that have to be overridden.
Constants Only Static final constants Both instance and static constants are possible
Speed Requires more time to find the actual method in the corresponding classes. Fast
Adding functionality If we add a new method to an Interface then we have to track down all the implementations of the interface and define implementation for the new method If we add a new method to an abstract class then we have the option of providing default implementation and therefore all the existing code might work properly.
Homogeneity If the various implementations only share method signatures then it is better to use Interface If the various implementations abstract class then we have the common behavior or status then abstract class is better to use.

No comments:

Post a Comment