Operadores
- En programación declarativa sólo existen valores, no hay referencias.
- La distinción entre valores y referencias es fundamental, sin embargo, en la programación imperativa.
Diferencia entre valor y referencia
- Cuando se realiza una asignación de un valor a una variable debemos considerar que estamos dando un nombre a un objeto matemático que no puede ser modificado o que estamos copiando el valor en la variable.
- Por ejemplo, en Java, los tipos de datos primitivos son valores. Las asignaciones valores de estos tipos a variables realizan copias de valores:
- En la variable a se copia el valor 4 y en las variables b y c se copia el valor 2
- |No hay forma de modificar (mutar) esos valores. Podríamos cambiar las variables guardando en ella otros valores, pero los valores propiamente dichos son inmutables. En la última instrucción modificamos el valor de la variable b, pero el valor de la variable c sigue siendo 2.
- Los tipos de datos cuyos valores son inmutables y sus asignaciones tienen una semántica de copia reciben el nombre de tipos de valor (value types en inglés).
- Los tipos de referencia son tipos de datos mutables en los que la asignación funciona con semántica de referencia. Por ejemplo, cualquier objeto en Java tiene una semántica de referencia. Cuando asignamos un objeto a una variable, estamos guardando en la variable una referencia al objeto.


No hay comentarios:
Publicar un comentario