Sobes.tech
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