Junior
¿Qué son los tipos de datos de referencia?
sobes.tech AI
Respuesta de la IA
Los tipos de datos de referencia no almacenan el valor en sí, sino una referencia (dirección en memoria) al lugar donde se guarda ese valor. Al asignar o pasar estos datos, solo se copia la referencia, no el objeto completo. Los cambios realizados a través de una referencia serán visibles cuando se acceda a través de otras referencias que apunten al mismo objeto.
Ejemplos de tipos de datos de referencia en diferentes lenguajes:
- Java: Clases (
String,Object, clases personalizadas), interfaces, arreglos. - C#: Clases (
string,object, clases personalizadas), interfaces, delegados, arreglos. - Python: Todos los tipos de datos (listas, diccionarios, tuplas, conjuntos, clases, funciones).
# Ejemplo en Python
list1 = [1, 2, 3]
list2 = list1 # list2 referencia al mismo lista que list1
list2.append(4)
print(list1) # Salida: [1, 2, 3, 4]
print(list2) # Salida: [1, 2, 3, 4]
La diferencia con los tipos de datos de valor radica en que los tipos de valor almacenan el valor en sí mismo, y al asignar o pasar, se copia todo el valor.
Ejemplo de comparación:
| Característica | Tipos de valor | Tipos de referencia |
|---|---|---|
| Almacenamiento | El valor en sí | Referencia al valor |
| Asignación/paso | Copia del valor | Copia de la referencia |
| Cambio | No afecta al original | Cambia el original |
| Ejemplo (C#) | int, struct, enum |
class, interface, array |