An abstract class is used if you want to provide a common, implemented functionality among all the implementations of the component . Abstract classes will allow you to partially implement your class, whereas interfaces would have no implementation for any members whatsoever.
Read moreWhat is the use of abstract class in real time?
So, abstract classes can be used to consolidate and share functionality , while interfaces can be used to specify what the common functionality that will be shared between different instances will be, without actually building that functionality for them. Both can help you make your code smaller, just in different ways.
Read moreWhat is purpose of abstract class?
The purpose of an abstract class (often referred to as an ABC) is to provide an appropriate base class from which other classes can inherit . Abstract classes cannot be used to instantiate objects and serves only as an interface. Attempting to instantiate an object of an abstract class causes a compilation error.
Read more