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 moreIs abstract class better than interface?
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 more