Интерфейс похож на дизайн шаблона для класса, который не содержит данных или реализации; только определения для методов, свойств и т. д. Они являются абстрактными и не могут быть созданы, но могут быть унаследованы, после чего все указанные методы и т. д. должны быть реализованы конкретным классом, наследующим интерфейс.