Abstract classes are used only when there is a �is-a� type of relationship between the classes. Interfaces can be implemented by classes that are not related to one another.
You cannot extend more than one abstract class. You can implement more than one interface.
Abstract class can implemented some methods also. Interfaces can not implement methods.
With abstract classes, you are grabbing away each class�s individuality. With Interfaces, you are merely extending each class�s functionality.
Joined: Sep 26, 2007
Thanks for pointing out the differences but I am still inn confusion as to the choice between an interface or an abstract class in the above scenario. Could you please let me know what would be appropriate in the above scenario.