Aconsejo, no usar los campos como públicos sino privados o protegidos. ¿Por qué? Pues porque para ello ya usamos las propiedades y el campo lo que hace es respaldar el almacenamiento de estas.
Bueno hasta ahora no hemos descubierto nada, puesto que es repaso de lo aprendido, cuando declaramos un campo, lo definimos con un tipo, un número entero, doble precisión, fecha, cadena de texto, etc. Estos tipos pueden convertirse entre unos y otros, siempre que el compilador pueda hacerlo, en caso contrario provocaría un error. Puedo convertir una fecha a texto, pero lo que no puedo hacer es convertir la palabra “hola” en una fecha, el compilador se quejaría, ¿no?.
Una vez declarada una variable, ésta no se puede volver a declarar con un nuevo tipo y tampoco se le puede asignar un valor que no sea compatible con su tipo declarado. Por ejemplo, no puede declarar int y a continuación, asignarle un valor booleano de true. Sin embargo, los valores pueden convertirse en otros tipos, por ejemplo, cuando se asignan a variables nuevas o se pasan como argumentos de método.
Los tipos son:
Nombre de tipo
|
Descripción
|
System.Object
|
Clase base para todos los tipos. Puede almacenar cualquier cosa
|
System.String
|
Cadena de texto.
|
System.SByte
|
Byte con signo de 8 bits.
|
System.Byte
|
Byte sin signo de 8 bits.
|
System.Intl6
|
Valor de 16 bits con signo.
|
System.Ulntl6
|
Valor de 16 bits sin signo.
|
System.Int32
|
Valor de 32 bits con signo.
|
System.Ulnt32
|
Valor de 32 bits sin signo.
|
System.Int64
|
Valor de 64 bits con signo.
|
System.Ulnt64
|
Valor de 64 bits sin signo.
|
System.Char
|
Carácter unicode de 16 bits.
|
System.Single
|
Valor en coma flotante del IEEE de 32 bits.
|
System.Double
|
Valor en coma flotante del IEEE de 64 bits.
|
System.Boolean
|
Valor booleano (true!false).
|
System.Decimal
|
Tipo de
datos de 128-bit igual a 28 o 29 dígitos. Principalmente utilizado para aplicaciones financieras, donde se requiere un alto grado de precisión. |
Todos los tipos tienen un alias en el lenguaje de programación usado. ¿Y que es un alias?, pues un modo abreviado de acceder a ellos de una forma más rápida. Estos alias o nombres, no pueden ser utilizados para nombrar variables, están protegidos por el compilador, de modo que si intento declarar una variable con el nombre double, el compilador chillaría!
Y ¿por qué el tipo? Pues entre otras cosas, el tipo determina el almacenamiento interno en la memoria donde se guarda esta variable, el valor máximo y mínimo que puede representar, los miembros de clase que contiene (porque son clases), los tipos de operaciones que se pueden realizar con ellas, el tipo del que hereda y la ubicación en la memoria cuando se están en tiempo de ejecución. Con todo esto, el compilador se encarga de de comprobar que todos hacen las cosas como deben hacerlas.
Ejemplo.
C#
int a = 5; int b = a + 2; //Esto funciona, suma 5 + 2 = 7 bool test = true; int c = a + test; // Error. El operador '+' no puede sumar una variable de número con una variable tipo booleana. string d = a.ToString() + test.ToString(); // Esto no da error ya que el resultado es ‘5True’, ahora las variable tipo número y booleana, las he convertido antes a texto y lo que ha hecho, ha sido concatenarlas
VB.NET
Dim a As Integer = 5 Dim b As Integer = a + 2 'Esto funciona, suma 5 + 2 = 7 Dim test As Boolean = True Dim c As Integer = a + test ' Error. El operador '+' no puede sumar una variable de número con una variable tipo booleana. Dim d As String = a.ToString() & test.ToString()' Esto no da error ya que el resultado es ‘5True’, ahora las variable tipo número y booleana, las he convertido antes a texto y lo que ha hecho, ha sido concatenarlas
No se si os habéis dado cuenta, pero cuando declaramos una variable con su tipo, en la misma declaración es posible asignarle un valor, de este modo no tenemos porque volver a escribirla y asignarle un valor.
Bueno, pues todas estas cosas, además las podemos realizar dentro de un método y en este caso, la variable se convierte en local del método y no es accesible nada más que dentro de este y tampoco, nos permitirá declarar una variable con el mismo nombre dentro del método.
¿Cuáles son los más utilizados? Pues depende para que los vayamos a usar; ahí viene cuando diseñamos la clase y debemos determinar qué valores van a usar los miembros de clase.
Por ejemplo, dentro de un método voy a incluir un contador dentro de un bucle y cada vez que se repita, se sumará la cantidad de 1; sé que “jamás” no sobrepasará el valor de 10000, vamos que no llegará al valor de 10000, pues creo que si declaro una variable de tipo entero (16 bit) será más que suficiente, (valor mínimo -2147483647 y máximo 2147483647 ala!!!) ahora si el valor que voy a almacenar es el resultado de una división y necesito un aproximación alta, utilizaré un doublé (valor mínimo 5,0×10-324 y valor máximo 1,7×10308. Vaya cifras astronómicas!, ¿no? pues depende para que, a veces se quedan cortas.
Pues lo prometido es deuda, entrega corta y a programar!! Practicad mucho!!
Saludos “der Waki”