Tabla I: Tipos existentes en el lenguaje Swift 5.7
Nombre
Descripción
Clases
“Construcción que nos permite encapsular las propiedades, métodos e inicializadores de un objeto en un solo tipo.” ª Los objetos se denominan instancias
Pueden
me-
diante herencia
Pueden relacionarse con protocolos
Las
en
memoria
Es un tipo con nombre
Se
Estructuras
“Construcción que nos permite encapsular las
propiedades,
de
una instancia en un solo tipo.” ª No
atri-
butos
Pueden relacionarse con protocolos
Las instancias se comparten mediante valor,
creando copias
Es un tipo con nombre
Enums
“Tipo que define una lista de posibles valores.
Adopta
pro-
piedades, métodos, inicializadores. Se puede extender para expandir su funcionalidad más allá
proporcionar
una funcionalidad estándar.” ª
Protocolos
“Tipo
métodos,
propiedades y otros requisitos que se adaptan a
Cualquier tipo que satisfaga
los
que
conforma a ese protocolo.” ª
Tipos es-
tándar (Int,
Double,
String, etc.)
“Los tipos primitivos de cualquier lenguaje de
programación, están implementados por Swift
como estructuras por lo que se pueden ex-
tender.” ª
Colecciones
(array, set,
dictionary)
“Tipos
colecciones
ordenadas de valores, los set son colecciones desordenadas de valores únicos y los diccio- narios
de
asociaciones entre un valor y una clave.” ª
Funciones
“Tipo que representa los tipos de los métodos,
funciones o closures y están conformados por
parámetros y un tipo de retorno” ª
Tuplas
“Las
Nombre
Descripción
solo
no
tienen que ser del mismo tipo entre sí” ª
Opcionales
“Tipo
Nota. ª Apple (2023) En la Tabla II se muestran las posibles re-
laciones que pueden tener l er los tipos de l e la T a Tabla I.
Tabla II: Relaciones existentes en el lenguaje Swift 5.7
Nombre
Descripción
Herencia
“Relación mediante la cual se puede agre-
gar o anular funcionalidades mediante
composición de clases. La herencia es un
comportamiento fundamental que diferencia
las clases de otros tipos en Swift” ª
Conformance
“Relación mediante la cual una clase, es-
tructura o enumeración adopta y provee una
implementación a los requerimientos de un
protocolo” ª
Herencia de
protocolos
“Relación mediante la cual un protocolo
puede heredar uno o más protocolos y
puede agregar más requisitos además de
los requisitos que hereda” ª
Tipos anida-
dos
“Relación mediante la cual se define un tipo
dentro del contexto de otro tipo. para permi-
tir e ir esto Swift permite definir tipos anidados,
el cual anida enumeraciones, clases y
estructuras compatibles dentro de la defini-
ción del otro tipo” ª
Extensión
“Relación mediante la cual se le agrega
nuevas funcionalidades a clases, estructu-
ras, enumeraciones o protocolos ya existen-
tes (...). Las extensiones a protocolos sirven
para proveer implementaciones por defec-
tos a sus métodos y propiedades.” ª
Nota. ª Apple (2023)
Se formuló la suposición que las entidades y rela-
ciones a estereotipar son a las que hizo referencia
[18],
Enumera-
ciones, Extensiones y relaciones de Conformance. Desde
especificación de
UML ha avanzado una versión [20], se hizo nece- sario