An abstract class and an interface are two ways to require a class to have a certain structure. But whereas an abstract class can contain properties, fields, and methods that it can share with its subclasses, interfaces have no body and are only a contract telling classes which methods they must implement. In this lesson you'll get an example of each.