miércoles, 7 de noviembre de 2012

Variables y constantes en Objetive-C

El manejo de variables y constantes en Objective-C es fundamental para crear cualquier aplicación. Una variable es como una pequeña cajita donde podemos almacenar y recuperar cosas (datos).

¿Qué es una variable en Objective-C?

  • Las variables son esencialmente ubicaciones en la memoria de la computadora que están reservadas para el almacenamiento de los datos utilizados por una aplicación.
  • A cada variable se le asigna un nombre por el programador y le asigna un valor.
  • El nombre asignado a la variable se puede utilizar en el código de Objective-C para acceder al valor asignado a la variable. 
  • Este acceso puede implicar o bien la lectura del valor de la variable, o cambiar el valor. 
  • Es, por supuesto, la capacidad de cambiar el valor de las variables que les da el nombre de la variable.
Una variable debe ser declarada como un tipo particular, como un int, un char, un float o double.

Objective-C es lo que se conoce como un lenguaje "fuertemente tipado" (si, ya se, "tipado" no existe en Español) en que una vez que una variable ha sido declarada como un tipo particular, posteriormente no se puede cambiar a un tipo diferente.

Si bien esto puede resultar un poco extraño para quienes están familiarizados con los lenguajes "débilmente tipados" como Ruby, le serán familiares para programadores que vengan de Java, C, C + + o C#.  

Sin embargo, podemos cambiar el contenido por medio de la "conversión de tipos".

Una declaración de variables, entonces, necesita primero un tipo de datos, luego el nombre de la variable y opcionalmente podemos asignarle un valor de inicio.

int tasaDeInteres;

El siguiente ejemplo declaramos e iniciamos al mismo tiempo a la misma variable. El símbolo de igualdad (=) es un operdor de asignación:

int tasaDeInteres = 10;

De la misma forma podemos asignar un valor a la variable en cualquier punto del programa.

double tasaDeInteres = 5.5456; 

tasaDeInteres = 10.98; 

tasaDeInteres = 20.87; 


¿Qué es una constante en Objective-C?


Las constantes son particularmente útiles si hay un valor que se utiliza repetidamente en todo el código de la aplicación.

En lugar de usar el valor cada vez, hace que el código sea más fácil de leer si el valor se asigna por primera vez a una constante que a continuación se hace referencia en el código.

Por ejemplo, puede que no sea evidente para alguien que está leyendo su código de Objective-C por qué ha utilizado el valor 5 en una expresión.

Si, en lugar del valor 5, se utiliza una constante denominada tasaDeInteres el propósito del valor se vuelve mucho más claro.

Las constantes también tienen la ventaja de que si el programador necesita cambiar un valor ampliamente utilizado sólo necesita ser cambiado una vez en la declaración de la constante y no cada vez que la constante es referenciada.

Las constantes son similares a una variable en que se proporciona una ubicación memoria para almacenar  datos.

Las constantes difieren de una manera significativa en que una vez que se ha asignado un valor a una de ellas, posteriormente no se puede cambiar.

Al igual que las variables, las constantes tienen un tipo de datos, un nombre de constante y un valor.

A diferencia de las variables, una constante necesita que le asignemos un valor al ser creada, de lo contrario el compilador nos marcaría un error.

const int tasaDeInteres = 10;

Una vez que asignamos el valor a una constante, no podemos cambiarlo (de ahí su nombre).

const int tasaDeInteres = 10;
tasaDeInteres = 5; 

Cambiar el tipo de datos de una variable


Como semencionó anteriormente, el lenguaje Objective-C es "fuertemente tipado" (si, ya se, no existe esa palabra).

En cristiano, significa que una vez que le asignas un tipo de datos a una variable, este tipo NO PUEDE SER MODIFICADO.

A la operación  de cambiar el tipo de datos le llamamos "casting", o en otra palabra que NO existe en español, "casteamos" la variable (término que se originó en Java, según cuentan la leyenda).

Un ejemplo de conversión de datos es el siguiente:

double balance = 100.54;
double tasaDeInteres = 5.78;
double resultado = 0;
 
resultado = balance * tasaDeInteres;
  
NSLog(@"El resultado es %f", tasaDeInteres);

El resultado sería el siguiente:

El resultado es 581.121200

Si deseáramos cambiar el tipo de datos (del resultado) utilizaremos un conversor de tipos, en este caso para un número entero:

double balance = 100.54;
double tasaDeInteres = 5.78;
double resultado;
 
resultado =  (int) balance *  (int) tasaDeInteres;
  
NSLog(@"El resultado es %f", resultado);

El resultado sería:
El resultado es 500.000000

Note que lo que cambia es la representación de los datos, no el tipo de datos de la variable.

No hay comentarios:

Publicar un comentario