(1) Abstract classes are defined using the abstract keyword, and the interfaces are defined using the interface keyword, and they cannot be instantiated.
(2) Abstract classes can contain virtual methods, non-abstract methods, static members; The interface cannot include virtual methods, any static members
And the interface can only define methods, cannot implement methods, the specific time of the method should be done by the class.
(3) Abstract classes cannot implement multiple inheritance, interfaces can inherit more, strictly speaking, the class-inheriting interface should be the class implementation interface.
(4) Abstract class is the abstraction of an object, and the relationship between the class and the abstract class that inherits from the abstract class is the relationship of the class.
Just represents the implementation class has an interface declaration method, is a can-do relationship, so the interface after the general with the Able field indicates I can do;
C # interfaces and abstract classes