This question has already been answered:
Hi, community. What is the difference between an abstract class and an interface in C #? After all, it can be said that the abstract class, in which all methods have no implementation and are marked as abstract, is in some way an interface. Yes, there is a significant difference - the interface describes the behavior of an object, i.e. it must be fully implemented, unlike the abstract class in which, without implementing abstract methods, the heir will also become an abstract class. I understand that the interface describes the general behavior without implementation (for each class has its own), and what does the abstract class do?