45bff5a3_tract_Class___Jinal_Desai__NET__Interface
[Parameter] When to use [Abstract Class] It is better to use abstract class when various implementations of the same kind share common behaviour. Use abstract class to define common base class for family of types. [Interface] 
It is better to use interface when various implementations share only method signature. Use interface when immutable contract is required. Using interface we can design polymorphic heirarchy of value types.
Interface Vs Abstract Class | Jinal Desai .NET
Interface