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