Junior
¿Qué son los genéricos en programación?
sobes.tech AI
Respuesta de la IA
Los genéricos (Generics) son una forma de escribir código flexible y reutilizable que funciona con cualquier tipo de datos, manteniendo la seguridad de tipos. Permiten posponer la especificación de un tipo concreto hasta el momento de su uso.
Ventajas principales:
- Evitar la duplicación de código: Se puede escribir un algoritmo/estructura de datos que funcione con diferentes tipos.
- Seguridad de tipos: El compilador verifica la compatibilidad de tipos durante la compilación, previniendo errores en tiempo de ejecución relacionados con tipos incorrectos.
- Código más expresivo: Muestra claramente las intenciones del desarrollador respecto a los tipos de datos.
Ejemplo de uso en Swift:
Estructura genérica Stack:
struct Stack<Element> {
// Elemento genérico usado como tipo de los elementos del array
private var items: [Element] = []
// Elemento genérico usado como tipo del parámetro
mutating func push(_ item: Element) {
items.append(item)
}
// Elemento genérico usado como tipo del valor de retorno
mutating func pop() -> Element {
return items.removeLast()
}
}
Uso con cadenas:
var stringStack = Stack<String>()
stringStack.push("hello")
stringStack.push("world")
let lastString = stringStack.pop() // lastString es de tipo String
Uso con números:
var intStack = Stack<Int>()
intStack.push(1)
intStack.push(2)
let lastInt = intStack.pop() // lastInt es de tipo Int
Sin genéricos, habría que escribir estructuras separadas para Stack<String>, Stack<Int>, etc., o usar enfoques menos seguros (por ejemplo, Any).