The short answer: An abstract class allows you to create functionality that subclasses can implement or override. An interface only allows you to define functionality, not implement it . And whereas a class can extend only one abstract class, it can take advantage of multiple interfaces.
Read moreWhat is difference between interface and abstract class C++?
An “interface” embodies the concept of a contract between clients and an implementation. An “abstract class” contains code that you want to share between multiple implementations of an interface . While the interface is implied in an abstract classes methods, sometimes it is useful to specify the contract in isolation.12 Eki 2012
Read more