Este documento describe las interfaces en Java y C#. Explica que una interfaz especifica métodos abstractos pero no su implementación, la cual es responsabilidad de las clases que las implementen. Detalla algunas ventajas como organizar la programación y obligar a clases a usar los mismos métodos. Finalmente concluye que implementar una interfaz permite a una clase comprometerse a proveer cierta funcionalidad y que este contrato se hace cumplir en la compilación.