Wednesday, June 24, 2015

Difference between abstract class and interface

About Abstract Class :

Abstract class is a class that contain complete and abstract (incomplete) both type of member and it can not be instantiated, Abstract classes are one of the essential behaviors provided by dotnet.

Interface contains only definition / signature of functionality, and if we have some common functionality as well as common signature then there is a need of abstract class so through abstract class we can provide behavior as well as functionality both in the same time, developer inheriting abstract class can use this functionality and need to fill only in the blank.

About Interface :

Interface is a type which contains only the signatures of methods, delegates or events, it has no implementation, Implementation of the methods is done by the class that which implements the interface.

Interface is a contract that defines the signature of the functionality. So if a class is implementing a interface it says to the outer world, that it provides specific behavior. Example if a class is implementing ‘Idisposable’interface that means it has a functionality to release unmanaged resources.

OOPs interface vs abstract class

InterfaceAbstract class
Interface support multiple inheritanceAbstract class does not support multiple inheritance
Interface does'n Contains Data MemberAbstract class contains Data Member
Interface does'n contains CunstructorsAbstract class contains Cunstructors
An interface Contains only incomplete member (signature of member)An abstract class Contains both incomplete (abstract) and complete member
An interface cannot have access modifiers by default everything is assumed as publicAn abstract class can contain access modifiers for the subs, functions, properties
Member of interface can not be StaticOnly Complete Member of abstract class can be Static

To Know More about Interface and Abstract Class Click Bellow :-

No comments:

Post a Comment