Vamos a tratar los campos, las variable locales y los tipos mediante una "minientrega".
Los campos, como ya dijimos, son variables declaradas a
nivel de clase. Estos campos tienen como es lógico sus modificadores, es decir,
pueden ser public, protected, prívate.
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.
|
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-324y 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”
No hay comentarios:
Publicar un comentario