Swift 4: Control de acceso


Como en todos los lenguajes de desarrollo que permiten el desarrollo orientado a objetos Swift tiene un sistema de control de acceso a las clases, métodos y propiedades que permite esconder o hacer público las clases o sus miembros. Se utiliza en torno al concepto de módulos y los ficheros con código fuente.

El control de acceso en Swift 4 se aplica a los siguientes tipos:
  • classes
  • structures
  • enumerations

Los niveles de acceso que podemos determinar son los siguientes:
  • Open: Permite el acceso en el fichero que se importe la clase, aunque sea en una subclase de otro módulo.
  • Public: Permite el acceso en el fichero que se importe la clase, pero no admite subclases fuera de otro módulo.
  • Internal: Permite sólo el acceso dentro de su mismo módulo.
  • File-private: Permite sólo el acceso dentro del mismo fichero de código fuente.
  • Private: Sólo permite el acceso dentro de la misma declaración. 

Open es el acceso más abierto y privado el acceso más cerrado.

El nivel de acceso por defecto es Internal.

Os pongo los ejemplos oficiales de Apple:

  • public class SomePublicClass {}
  • internal class SomeInternalClass {}
  • fileprivate class SomeFilePrivateClass {}
  • private class SomePrivateClass {}
  • public var somePublicVariable = 0
  • internal let someInternalConstant = 0
  • fileprivate func someFilePrivateFunction() {}
  • private func somePrivateFunction() {}


Espero que os sea de utilidad.

Comentarios