Skip to main content

Interface Vs Abstract

Interface..
1. A class can implement from many interfaces
2. A class may or may not implement all methods of an interface
3. There can no fields in a interface
4. There can be no access modifiers. By default all methods are public.
5. No default implementation allowed in interface
6. Define peripherial abilities of a class which two different types of sub classes can inherit
7. Performance: codes requires more time to find the actual method in a class
8. Adding new method to base interface class would require finding all classes that implement the interface and implementing new method


Abstract
1. A class can inherit from only one abstract class
2. A class has to implement all methods of an interface
3. Fields are allowed
4. Different access modifiers are allowed.
5. You can provide default implementations
6. Defines core abilities of a class.
7. Performace: fast
8. Adding new method, we can provide a default implementation for all classes in one base abstract class.

A good example can be viewed at http://www.codeproject.com/KB/cs/abstractsvsinterfaces.aspx

Comments

Laura Bush said…
Great job for publishing such a nice article. Your article isn’t only useful but it is additionally really informative. Thank you because you have been willing to share information with us. Custom Software Service Provider In Malaysia