¿Cuál es la diferencia entre los protocolos Swift y la interfaz Java?

Deje de comparar Java con Swift. Quizás es la sintaxis lo que hace que muchas personas crean que Swift tiene algo en común con Java. Déjame decirte: eso es completamente incorrecto.
Sin embargo, puede que le resulte más fácil la transición a Swift si es un programador de Python, Scala o Ruby. Pero, una vez más, comparar diferentes lenguajes de programación es más que una pérdida de tiempo.

Ahora, volviendo a la pregunta original.
Los protocolos no son como la interfaz de Java, o como las clases abstractas de C ++ para el caso. Si este no fuera el caso, entonces nos quedaríamos con los viejos y buenos conceptos de OO.

Los protocolos rápidos no son solo una interfaz simple. Si bien de hecho sirven como planos, hay mucho más que hace que los protocolos sean diferentes a las interfaces en Java.

Apple introdujo un gran cambio de paradigma llamado Programación Orientada a Protocolo. Una vez que comprenda el POP y los conceptos subyacentes, podrá diseñar sistemas de software mejores y más flexibles.

Echa un vistazo a mi curso publicado recientemente “Swift 4: programación orientada al protocolo” disponible en LinkedIn Learning: Swift 4: programación orientada al protocolo y en Lynda: Swift 4: programación orientada al protocolo

¿Te interesa Swift? Mira mis artículos: Swift – La creación y evolución de un nuevo lenguaje de programación y programación orientada a protocolos.

Enchufe descarado 😉
Publiqué varios cursos de Swift sobre Pluralsight y Udemy:
– Introducción a los algoritmos en Swift
– Patrones de diseño en Swift

¡Buena pregunta! Es … casi nada.

Los protocolos Swift contienen firmas de propiedades y métodos. Cuando una clase adopta un protocolo, se dice que se ajusta a ese protocolo cuando incluye implementaciones para todas las propiedades y métodos requeridos de ese protocolo. En Cocoa SDK, los protocolos juegan un papel importante en la delegación .

Una interfaz en Java hace exactamente lo mismo: define propiedades y métodos que cualquier clase que implemente la interfaz debe cumplir.

Algunos consejos sobre el aprendizaje adicional:

  • Swift tiene una serie de palabras clave que tienen un efecto en los protocolos, como mutating , get y set , required y optional . Puede leer más sobre los protocolos Swift aquí: El lenguaje de programación Swift: Protocolos
  • Puede leer más sobre las interfaces Java aquí: ¿Qué es una interfaz?
  • Las interfaces y los protocolos son parte de la Programación Orientada a Objetos (OOP), un concepto de programación en el que el código está estructurado en las llamadas “clases”. Es bastante fascinante, y muchos conceptos como los protocolos se traducen bien a otros lenguajes. Si está buscando conceptos y patrones de diseño de alto nivel, le recomiendo leer “Patrones de diseño” de la pandilla de cuatro: https://en.wikipedia.org/wiki/De