Your SlideShare is downloading. ×
0
Uso de variables de tipo
referencia
Notas generales
 Uso de variables de tipo referencia
 Uso de tipos referencia comunes
 La jerarquía de objetos
 Espac...
 Uso de variables de tipo referencia
 Comparación de tipos valor y tipos referencia
 Declaración y liberación de variab...
Comparación de tipos valor y tipos referencia
 Tipos valor
 La variable
contiene el valor
directamente
 Ejemplos:
char,...
Declaración y liberación de variables referencia
 Declaración de variables referencia
coordenada c1;
c1 = new coordinate(...
Referencias no válidas
 Si hay referencias no válidas
 No es posible acceder a miembros o variables
 Referencias no vál...
Comparación de valores y comparación de referencias
 Comparación de tipos valor
 == and != comparan valores
 Comparació...
Referencias múltiples a un mismo objeto
 Dos referencias pueden apuntar a un mismo objeto
 Dos formas de acceder a un mi...
Uso de referencias como parámetros de métodos
 Las referencias se pueden usar como parámetros
 Si se pasan por valor, es...
 Uso de tipos referencia comunes
 Clase Exception
 Clase String
 Métodos, operadores y propiedades comunes de String
...
Clase Exception
 Exception es una clase
 Los objetos Exception se usan para lanzar excepciones
 Para crear un objeto Ex...
Clase String
 Cadenas de caracteres Unicode
 Abreviatura de System.String
 Inmutable
string s = "Hola";
s[0] = 'c'; // ...
Métodos, operadores y propiedades comunes de String
 Corchetes
 Método Insert
 Propiedad Length
 Método Copy
 Método ...
Comparaciones de cadenas de caracteres
 Método Equals
 Comparación de valores
 Método Compare
 Más comparaciones
 Opc...
Operadores de comparación en String
 Los operadores == y != están sobrecargados para cadenas
 Son equivalentes a String....
 La jerarquía de objetos
 El tipo object
 Métodos comunes
 Reflexión
El tipo object
 Sinónimo de System.Object
 Clase base para todas las demás clases
ExceptionException
SystemExceptionSyst...
Métodos comunes
 Métodos comunes para todos los tipos referencia
 Método ToString
 Método Equals
 Método GetType
 Mét...
Reflexión
 Es posible obtener información sobre el tipo de un objeto
 Espacio de nombres System.Reflection
 El operador...
 Espacios de nombres en .NET Framework
 Espacio de nombres System.IO
 Espacio de nombres System.Xml
 Espacio de nombre...
Espacio de nombres System.IO
 Acceso a entrada/salida del sistema de archivos
 File, Directory
 StreamReader, StreamWri...
Espacio de nombres System.Xml
 Compatibilidad con XML
 Estándares de XML
Espacio de nombres System.Data
 System.Data.SqlClient
 SQL Server .NET Data Provider
 System.Data
 Consta básicamente ...
Otros espacios de nombres útiles
 Espacio de nombres System
 Espacio de nombres System.Net
 Espacio de nombres System.N...
Práctica A - Definición y uso de variables de tipo referencia
 Conversiones de datos
 Conversión de tipos valor
 Conversiones padre/hija
 El operador is
 El operador as
 Conversi...
Conversión de tipos valor
 Conversiones implícitas
 Conversiones explícitas
 Operador de cast
 Excepciones
 Clase Sys...
Conversiones padre/hija
 Conversión a referencia de clase padre
 Implícita o explícita
 Siempre tiene éxito
 Siempre s...
El operador is
 Devuelve true si es posible realizar una conversión
Pajaro b;
if (a is Pajaro)
b = (Pajaro) a; // No hay ...
El operador as
 Hace conversiones entre tipos referencia, como cast
 En caso de error
 Devuelve null
 No causa una exc...
Conversiones y el tipo object
 El tipo object es la base para todas las clases
 Se puede asignar a object cualquier refe...
Conversiones e interfaces
 Una interfaz sólo se puede usar para acceder a sus
propios miembros
 No es posible acceder a ...
Boxing y unboxing
 Sistema de tipos unificado
 Boxing
 Unboxing
 Llamadas a métodos de object en tipos valor
int p = 1...
Práctica B - Conversión de Datos
Upcoming SlideShare
Loading in...5
×

8. Uso De Variables De Tipo Referencia

2,633

Published on

Uso De Variables De Tipo Referencia

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
2,633
On Slideshare
0
From Embeds
0
Number of Embeds
8
Actions
Shares
0
Downloads
14
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "8. Uso De Variables De Tipo Referencia"

  1. 1. Uso de variables de tipo referencia
  2. 2. Notas generales  Uso de variables de tipo referencia  Uso de tipos referencia comunes  La jerarquía de objetos  Espacios de nombres en .NET Framework  Práctica A - Definición y uso de variables de tipo referencia  Conversiones de datos  Práctica B - Conversión de datos
  3. 3.  Uso de variables de tipo referencia  Comparación de tipos valor y tipos referencia  Declaración y liberación de variables referencia  Referencias no válidas  Comparación de valores y comparación de referencias  Referencias múltiples a un mismo objeto  Uso de referencias como parámetros de métodos
  4. 4. Comparación de tipos valor y tipos referencia  Tipos valor  La variable contiene el valor directamente  Ejemplos: char, int 4242 int mol; mol = 42; int mol; mol = 42; •• string mol; mol = “Hola"; string mol; mol = “Hola"; HolaHola  Tipos referencia  La variable contiene una referencia al dato  El dato se almacena en un área de memoria aparte
  5. 5. Declaración y liberación de variables referencia  Declaración de variables referencia coordenada c1; c1 = new coordinate(); c1.x = 6.12; c1.y = 4.2; coordenada c1; c1 = new coordinate(); c1.x = 6.12; c1.y = 4.2; •• 6.126.12 4.24.2 c1 = null;c1 = null; •• 6.126.12 4.24.2  Liberación de variables referencia
  6. 6. Referencias no válidas  Si hay referencias no válidas  No es posible acceder a miembros o variables  Referencias no válidas en tiempo de compilación  El compilador detecta el uso de referencias no inicializadas  Referencias no válidas en tiempo de ejecución  El sistema generará un error de excepción
  7. 7. Comparación de valores y comparación de referencias  Comparación de tipos valor  == and != comparan valores  Comparación de tipos referencia  == and != comparan las referencias, no los valores •• 1.01.0 2.02.0 •• 1.01.0 2.02.0 Diferente
  8. 8. Referencias múltiples a un mismo objeto  Dos referencias pueden apuntar a un mismo objeto  Dos formas de acceder a un mismo objeto para lectura/escritura coordinate c1= new coordinate ( ); coordinate c2; c1.x = 2.3; c1.y = 7.6; c2 = c1; Console.WriteLine(c1.x + " , " + c1.y); Console.WriteLine(c2.x + " , " + c2.y); coordinate c1= new coordinate ( ); coordinate c2; c1.x = 2.3; c1.y = 7.6; c2 = c1; Console.WriteLine(c1.x + " , " + c1.y); Console.WriteLine(c2.x + " , " + c2.y); •• 2.32.3 7.67.6 •• c1 c2
  9. 9. Uso de referencias como parámetros de métodos  Las referencias se pueden usar como parámetros  Si se pasan por valor, es posible cambiar el dato referenciado static void PassCoordinateByValue(coordinate c) { c.x++; c.y++; } static void PassCoordinateByValue(coordinate c) { c.x++; c.y++; } loc.x = 2; loc.y = 3; PassCoordinateByValue(loc); Console.WriteLine(loc.x + " , " + loc.y); loc.x = 2; loc.y = 3; PassCoordinateByValue(loc); Console.WriteLine(loc.x + " , " + loc.y); 2 32 3 3 43 4 •• ••
  10. 10.  Uso de tipos referencia comunes  Clase Exception  Clase String  Métodos, operadores y propiedades comunes de String  Comparaciones de cadenas de caracteres  Operadores de comparación en String
  11. 11. Clase Exception  Exception es una clase  Los objetos Exception se usan para lanzar excepciones  Para crear un objeto Exception se usa new  Para lanzar el objeto se usa throw  Los tipos Exception son subclases de Exception
  12. 12. Clase String  Cadenas de caracteres Unicode  Abreviatura de System.String  Inmutable string s = "Hola"; s[0] = 'c'; // Error al compilar string s = "Hola"; s[0] = 'c'; // Error al compilar
  13. 13. Métodos, operadores y propiedades comunes de String  Corchetes  Método Insert  Propiedad Length  Método Copy  Método Concat  Método Trim  Métodos ToUpper y ToLower
  14. 14. Comparaciones de cadenas de caracteres  Método Equals  Comparación de valores  Método Compare  Más comparaciones  Opción para no distinguir mayúsculas y minúsculas  Ordenación alfabética  Opciones locales de Compare
  15. 15. Operadores de comparación en String  Los operadores == y != están sobrecargados para cadenas  Son equivalentes a String.Equals y !String.Equals string a = "Test"; string b = "Test"; if (a == b) ... // Devuelve true string a = "Test"; string b = "Test"; if (a == b) ... // Devuelve true
  16. 16.  La jerarquía de objetos  El tipo object  Métodos comunes  Reflexión
  17. 17. El tipo object  Sinónimo de System.Object  Clase base para todas las demás clases ExceptionException SystemExceptionSystemException MyClassMyClass ObjectObject StringString
  18. 18. Métodos comunes  Métodos comunes para todos los tipos referencia  Método ToString  Método Equals  Método GetType  Método Finalize
  19. 19. Reflexión  Es posible obtener información sobre el tipo de un objeto  Espacio de nombres System.Reflection  El operador typeof devuelve el tipo de un objeto  Sólo para clases en tiempo de compilación  Método GetType en System.Object  Información sobre clases en tiempo de ejecución
  20. 20.  Espacios de nombres en .NET Framework  Espacio de nombres System.IO  Espacio de nombres System.Xml  Espacio de nombres System.Data  Otros espacios de nombres útiles
  21. 21. Espacio de nombres System.IO  Acceso a entrada/salida del sistema de archivos  File, Directory  StreamReader, StreamWriter  FileStream  BinaryReader, BinaryWriter
  22. 22. Espacio de nombres System.Xml  Compatibilidad con XML  Estándares de XML
  23. 23. Espacio de nombres System.Data  System.Data.SqlClient  SQL Server .NET Data Provider  System.Data  Consta básicamente de las clases que constituyen la arquitectura ADO.NET
  24. 24. Otros espacios de nombres útiles  Espacio de nombres System  Espacio de nombres System.Net  Espacio de nombres System.Net.Sockets  Espacio de nombres System.Windows.Forms
  25. 25. Práctica A - Definición y uso de variables de tipo referencia
  26. 26.  Conversiones de datos  Conversión de tipos valor  Conversiones padre/hija  El operador is  El operador as  Conversiones y el tipo object  Conversiones e interfaces  Boxing y unboxing
  27. 27. Conversión de tipos valor  Conversiones implícitas  Conversiones explícitas  Operador de cast  Excepciones  Clase System.Convert  Control interno de conversiones
  28. 28. Conversiones padre/hija  Conversión a referencia de clase padre  Implícita o explícita  Siempre tiene éxito  Siempre se puede asignar a un objeto  Conversión a referencia de clase hija  Es necesario cast explícito  Comprueba que la referencia es del tipo correcto  Si no lo es, causa una excepción InvalidCastException
  29. 29. El operador is  Devuelve true si es posible realizar una conversión Pajaro b; if (a is Pajaro) b = (Pajaro) a; // No hay problema else Console.WriteLine("No es Pájaro"); Pajaro b; if (a is Pajaro) b = (Pajaro) a; // No hay problema else Console.WriteLine("No es Pájaro");
  30. 30. El operador as  Hace conversiones entre tipos referencia, como cast  En caso de error  Devuelve null  No causa una excepción Pajaro b = a as Pajaro; // Convertir if (b == null) Console.WriteLine("No es Pájaro”); Pajaro b = a as Pajaro; // Convertir if (b == null) Console.WriteLine("No es Pájaro”);
  31. 31. Conversiones y el tipo object  El tipo object es la base para todas las clases  Se puede asignar a object cualquier referencia  Se puede asignar cualquier variable object a cualquier referencia  Con conversión de tipo y comprobaciones  El tipo object y el operador is object buey; buey = a; buey = (object) a; buey = a as object; object buey; buey = a; buey = (object) a; buey = a as object; b = (Pajaro) buey; b = buey as Pajaro; b = (Pajaro) buey; b = buey as Pajaro;
  32. 32. Conversiones e interfaces  Una interfaz sólo se puede usar para acceder a sus propios miembros  No es posible acceder a otros miembros y variables de la clase a través de la interfaz
  33. 33. Boxing y unboxing  Sistema de tipos unificado  Boxing  Unboxing  Llamadas a métodos de object en tipos valor int p = 123; object box; box = p; int p = 123; object box; box = p; •• 123123 123123 p = (int)box;p = (int)box;
  34. 34. Práctica B - Conversión de Datos
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×