What is the difference between an interface and abstract class?

interface vs abstract class, interface vs abstract class in c#, difference between abstract class and interface in c#


Interface and Abstraction can't be instantiated. Abstract class is likewise similar to interface until abstract class is implemented.  I have clarified in subtle element distinction between an interface and abstract class.

Abstract Interface Class

  1. Abstract class needs virtual strategy for its its usage in common behaviour. Interface class needn't bother with it.
  2. Abstract can’t be instantiated. Interface class furthermore can't be instantiated.
  3. Abstract class is idle till we tend to can’t decision from the derived category. Interface class moreover has indistinguishable component it's not being used till we tend to choice it from sub classes.
  4. Interface class is slower than abstract class. Abstraction class is far faster than interface class.
  5. Interface class needs its usage in sub classes so when we roll out any improvements in interface class we have to track down all implantation & carefully we have to make changes in the classes otherwise compiler will throw error. Abstraction class has default usage so it doesn't require finding all classes correspondingly. 
  6. Fields & constants can't be characterised in interface class. In abstraction class, we can characterise constants & fields.
  7. An interface class can't have access modifiers subs, functions; methods have by default public access modifiers.
  8. An interface class has not gave any code just can simply provide signatures.  Abstraction class has the ability to give its usage and have moreover the capacity to override its methods and functions etc.
  9. An interface class can be executed when units of functions are little. Abstraction class can be implemented when units of functions are enormous. This usage application turns out to be more flawless and clean with no unpredictability of code.


An Interface and Abstraction classes are implemented in the application to make code more vigorous, perfect and adaptable.

Suggested Reading


Anjan kant

Outstanding journey in Microsoft Technologies (ASP.Net, C#, SQL Programming, WPF, Silverlight, WCF etc.), client side technologies AngularJS, KnockoutJS, Javascript, Ajax Calls, Json and Hybrid apps etc. I love to devote free time in writing, blogging, social networking and adventurous life

Post A Comment: