Uso de variables de tipo referencia

Slides:



Advertisements
Presentaciones similares
Curso de java básico (scjp)
Advertisements

Tema 4: Programación Orientada a Objetos en C# y VB.NET
Universidad Tecnológica Nacional Facultad Regional Buenos Aires Ingeniería en Sistemas de Información Introducción a C Sistemas Operativos.
2. Manejo de memoria Manejo de memoria estática
Curso de java básico (scjp)
Métodos y parámetros.
Introducción a C#.
Curso de java básico (scjp)
Manipulación de archivos de texto
Curso de Java Capitulo 6: Cadenas y Arrays Profesor:
Programación Interactiva Manejo de Excepciones
Streams de datos y archivos
Herencia en C#.
Tablas. Descripción general Introducción a las tablas Creación de tablas Uso de tablas.
Instrucciones y excepciones
Uso de variables de tipo valor
Lenguaje de programación Java
Clases Extendidas La clase extendida hereda los campos y métodos de la clase de la cual extiende. La clase original se conoce como superclase y la clase.
Orientación a Objetos con Java SE
Visual C#.NET Creado especialmente para .NET Estándar ECMA (2002)
Archivos Implementar un método que lea una secuencia de números enteros de un archivo y compute la cantidad de elementos leídos.
Curso de Java Estructura del Lenguaje
Arquitectura CLARO-TECNOTREE CAPITULO 4: Excepciones
Capitulo 4 Excepciones.
1.2 Sintaxis del lenguaje Java.
Informática II 1 Diego Fernando Serna RestrepoSemestre 2011/2.
Programación Orientada a Objetos en Java
String o Cadenas Prof. Gonzalo Pastor. Cadenas o String ► En C, una cadena o texto se define como un vector de caracteres de longitud determinada que.
1 Cadenas de caracteres Es un objeto de la clase String Una cadena de caracteres es una matriz unidimensional de elementos de tipo Char New. Utilizado.
Manipulación de caracteres e hileras de texto
Archivos Contenido: Archivos de Texto Archivos de Acceso Aleatorio
Tema 7: Polimorfismo Antonio J. Sierra. Índice Introducción. Sobrecarga de métodos. Objetos como parámetros. Paso de argumentos. Devolución de objetos.
Material de apoyo Unidad 2 Estructura de datos
POO Java Módulo 3 Elementos de programas Identificadores
Java Orientado a Objetos CLASES,OBJETOS Y MÉTODOS
Clases y objetos La unidad fundamental de programación OO son las clases. Conjunto de métodos y semántica Qué se va a hacer POO Clase: que define la implementación.
SCJP SUN CERTIFIED PROGRAMMER FOR JAVA 6. SCJP 6.0 SEMANA CINCO CONSOLE.
Tema 6: Clases Antonio J. Sierra.
6. Herencia. Clases abstractas. Genericidad
Unidad I Java y C++ : Similitudes y diferencias
Public class MiClase { public static int tmp = 123; // miembro variable public static final double PI = ;// miembro constante public float.
SCJP SUN CERTIFIED PROGRAMMER FOR JAVA 6. SEMANA TRES ASIGNACION.
JAVA J.A.C..
SCJP SUN CERTIFIED PROGRAMMER FOR JAVA 6
Framework Class Library (FCL) Dr. Diego Lz. de Ipiña Gz. de Artaza
Java. Java nació el año 1991, por un par de ingenieros de la Sun Microsystems.
Sintaxis de C# (Declaraciones y Tipos)
ESTRUCTURA DE DATOS EN JAVA
Tema 11: Excepciones Antonio J. Sierra.
Introducción a Java (2ª parte) - excepciones, colecciones, i/o, … -
Lenguaje Java Fundamentos del lenguajes de programación
El lenguaje de programación Java
Herencia y tipos ● Cuanta memoria se debe asignar a un objeto cuando se asigna en la pila ● La asignación debe hacerse antes de que se conozca la cantida.
1 Manejo de Excepciones y otros Agustín J. González ELO-329.
Programación en C para electrónicos
Programación orientada a objetos. Existen 3 niveles de visibilidad: ◦ public: significa que los atributos de una clase pueden ser accedidas desde fuera.
Programación avanzada en Java Miguel Ángel Corella 16 de Septiembre de 2005.
1 Definición y Conversión de datos Agustín J. González ELO-329.
Herencia. Introducción La idea básica es poder crear clases basadas en clases ya existentes. Cuando heredamos de una clase existente, estamos re-usando.
1 Asignación Dinámica de Memoria Agustín J. González ELO 329.
Tratamiento de excepciones
Programación orientada a objetos Capítulo 9 Algo mas sobre herencias.
1 Definición y Conversión de datos Agustín J. González ELO-329.
Clases “ Es una Abstracción de un elemento del mundo real ”
Estructuras de control selectivas Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión Práctica 3.
Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Práctica 4 Versión Diseño de tipos Igualdad, representación, código,
LICETH CAJAS 3RO ASI 26/10/2010. Es un lenguaje de programación diseñado para crear una amplia gama de aplicaciones que se ejecutan en.NET Framework,
Métodos en Java. Estructura de un programa en Java ► La relación con la vida misma la podemos ver en el siguiente comentario: Imaginemos que dos clases.
Concepto de Tipo y Subtipo Diseño e Implementación Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Unidad Didáctica 10 Versión.
Arrays, Cadenas y Vectores Tipos Genéricos Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Unidad Didáctica 5 Versión
Transcripción de la presentación:

Uso de variables de tipo referencia

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

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

Comparación de tipos valor y tipos referencia La variable contiene el valor directamente Ejemplos: char, int Tipos referencia La variable contiene una referencia al dato El dato se almacena en un área de memoria aparte string mol; mol = “Hola"; int mol; mol = 42; • Hola 42

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; • 6.12 4.2 Liberación de variables referencia c1 = null; • 6.12 4.2

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

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.0 2.0 Diferente • 1.0 2.0

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 • c1 2.3 7.6 c2 • 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);

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 2 3 3 4 • static void PassCoordinateByValue(coordinate c) { c.x++; c.y++; } loc.x = 2; loc.y = 3; PassCoordinateByValue(loc); Console.WriteLine(loc.x + " , " + loc.y); •

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

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

Clase String Cadenas de caracteres Unicode Abreviatura de System.String Inmutable string s = "Hola"; s[0] = 'c'; // Error al compilar

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

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

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

La jerarquía de objetos El tipo object Métodos comunes Reflexión

El tipo object Exception SystemException MyClass Object String Sinónimo de System.Object Clase base para todas las demás clases Exception SystemException MyClass Object String

Métodos comunes Métodos comunes para todos los tipos referencia Método ToString Método Equals Método GetType Método Finalize

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

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

Espacio de nombres System.IO Acceso a entrada/salida del sistema de archivos File, Directory StreamReader, StreamWriter FileStream BinaryReader, BinaryWriter

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 de las clases que constituyen la arquitectura ADO.NET

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

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 Conversiones y el tipo object Conversiones e interfaces Boxing y unboxing

Conversión de tipos valor Conversiones implícitas Conversiones explícitas Operador de cast Excepciones Clase System.Convert Control interno de conversiones

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

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");

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”);

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; b = (Pajaro) buey; b = buey as Pajaro;

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

Boxing y unboxing 123 • 123 Sistema de tipos unificado Boxing Unboxing Llamadas a métodos de object en tipos valor int p = 123; object box; box = p; p = (int)box; 123 • 123

Práctica B - Conversión de Datos