Feature | Interface | Abstract class |
Multiple inheritance | A class may inherit several interfaces. | 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. |
Core VS Peripheral | Interfaces are used to define the peripheral abilities of a class. In other words both Human and Vehicle can inherit from a IMovable interface. | An abstract class defines the core identity of a class and there it is used for objects of the same type. |
Homogeneity | If the various implementations only share method signatures then it is better to use Interface. | If the various implementations are of the same kind and use common behaviour or status then abstract class is better to use. |
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. |
A
New
Internet
Library: Add Your Website/Blog
or Suggest A Website/Blog to our Free Web Directory
http://anil.myfunda.net.
Its very simple, free and SEO Friendly. Submit Now....
Its very simple, free and SEO Friendly. Submit Now....
Thursday, February 7, 2008
Interface Vs Abstract Class
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment
Post your comments here: