Interfaz (programación)

Algunos lenguajes de programación proporcionan soporte de lenguaje explícito para protocolos o interfaces (Ada, C, D, Dart, Delphi, Go, Java, Object Pascal, Objective-C, PHP, Racket, Seed7, Swift).En C++ las interfaces son conocidas como clases base abstractas e implementadas usando funciones virtuales puras.Las funciones orientadas a objetos de Perl también admiten interfaces.Aunque Go no se considera generalmente un lenguaje orientado a objetos, permite que los métodos se definan en tipos definidos por el usuario.Esta diferencia se debe a suposiciones algo diferentes de programación funcional y paradigmas de programación orientados a objetos.