The following is the original words in the reference book, talked on page 52:
Creating an interface is the definition of one or more methods. These methods must be implemented in each class that implements the interface. The system does not generate any default method code. You must complete the implementation process yourself. The advantage of the interface is that it provides A child that makes a class becomes two classes. One inheritance is an implementation from the interface. If you do an interface method, the compiler will report an error.
Creating an abstract class is to create such a base class. It may have one or more complete / workable methods. However, at least one method is not implemented and defined as abstraction. You cannot instantiate an abstract class. It derived class. These classes contain abstract methods implementation. If all methods of an abstract class are not implemented in the base class. Its essence is equal to an interface. But restriction conditions are categories that cannot be inherited from it. Other class hierarchies. Use interfaces can be done. The role of abstract classes provides a definition of how to work with the school class. Allow programmers to populate these implementations in different derived classes.