Los delegates no necesitan saber la clase de objeto al cual referencian. Lo que necesitan saber es la definición del método al que referencian.
|
|
- José Godoy Benítez
- hace 7 años
- Vistas:
Transcripción
1 Delegates y eventos Delegates Un delegate es muy similar a un puntero a función de C++, es una estructura de datos que referencia a un método estático o a un método de instancia de un objeto. Existen algunas diferencias: - Un puntero a función de C++ sólo puede referenciar funciones estáticas. - Un delegate no sólo referencia al punto de entrada del método, sino también a la instancia del objeto al que pertenece el método. El sentido de los delegates es permitir que un método pueda recibir como parámetro un puntero a otro método. Es más, no es necesario conocer en tiempo de compilación el método concreto que se pasa como parámetro: puede asignarse en tiempo de ejecución, lo cual ofrece una gran flexibilidad a la hora de programar. El tipo base de todos los delegates es la clase System.Delegate,que quiere decir que un delegate es una instancia de la clase System.Delegate (o una derivada). Los delegates no necesitan saber la clase de objeto al cual referencian. Lo que necesitan saber es la definición del método al que referencian. Declaración de Delegates. Una declaración de un delegate define un tipo de referencia que extiende la clase System.Delegate y que puede utilizarse para encapsular un método con una definición determinada.. La sintaxis de la declaración es: declaración-delegate: atributos opc modificadores-del-delegate opc delegate tipo-resultado identificador(lista-parámetros-formales opc ) ; modificadores-del-delegate: modificador-del-delegate modificadores-del-delegate modificador-del-delegate modificador-del-delegate: new public protected internal private Por ejemplo: delegate int MiDelegate(); Un ejemplo más detallado es el siguiente: delegate int MiDelegate(int x); 1/11
2 class MiClase MiDelegate d = new MiDelegate(Cuadrado); static float Cuadrado(float x) return x * x; static int Cuadrado(int x) return x * x; Utilización de Delegates. Una instancia de tipo delegate encapsula un método, también llamado entidad invocable. En el caso de métodos estáticos, una entidad invocable consta únicamente del método. En el caso de métodos de instancia, una entidad invocable consta de una instancia de la clase del método y un método de tal instancia. Un ejemplo de utilización de instancias de tipo delegate es: using System; // declaración del delegate delegate int MiDelegate(); public class MiClase public int MetodoInstancia () Console.WriteLine("Hola desde el método de instancia."); return 0; static public int MetodoEstatico () Console.WriteLine("Hola desde el método estático."); return 0; public class Aplicacion static void Main (string[] args) MiClase p = new MiClase(); // Asociar el delegate al método de instancia: MiDelegate d = new MiDelegate(p.MetodoInstancia); // Invocación al método de instancia a través del delegate: d(); // Asociar el delegate al método estático: d = new MiDelegate(MiClase.MetodoEstatico); // Invocación al método estático a través del delegate: d(); 2/11
3 La salida de este programa es el de la figura 8.1: Figura 8.1 Delegates Multicast. Un delegate de tipo multicast puede asociarse a más de un método, de modo que invocando al delegate una sola vez, todos los métodos a los que está asociado sean invocados secuencialmente. Un delegate referencia realmente una lista de métodos a la que es posible añadir o quitar métodos utilizando los operadores +, +=, - y -=. Para ilustrar esto puede modificarse el método Main() del ejemplo anterior: static void Main (string[] args) MiClase p = new MiClase(); // Asociar el delegate al método de instancia: MiDelegate d = new MiDelegate(p.MetodoInstancia); // Asociar el delegate al método estático, se utiliza //el operador + para que se añada el método estático //a la lista de métodos apuntados por el delegate d: d += new MiDelegate(MiClase.MetodoEstatico); d(); // Invocación de ambos métodos a través del //delegate: Obsérvese que sólo se invoca una vez el delegate d(). El resultado se representa en la figura 8.2: 3/11
4 Figura 8.2 Existe una clase específica para este tipo de delegates multicast llamada System.MulticastDelegate, la cual deriva de System.Delegate y está en el assembly Mscorlib (Mscorlib.dll). La clase Delegate soporta una lista de métodos siempre que todos devuelvan el mismo tipo de datos, pero en una lista de varios métodos esto no tiene porqué ser así. Cuando el compilador detecta que un delegate devuelve void crea una instancia de MulticastDelegate en lugar de una de Delegate. 4/11
5 Eventos. En su sentido más concreto, un evento es un campo o propiedad de una clase o estructura. El tipo del evento es delegate, lo cual quiere decir que puede referenciar a una lista de métodos. Lo interesante de los eventos es que son utilizados por la clase a la que pertenecen para notificar que algo ha sucedido a otras clases. El modelo de eventos en el entorno.net El modelo de eventos.net se basa en los conceptos de productor o fuente de eventos y consumidor o manejador de eventos. Figura 8.3. Modelo de eventos en el entorno.net El productor o fuente puede generar uno o varios eventos diferentes. El consumidor o manejador se suscribe a uno o varios eventos del productor para que se le notifique cuando un evento suceda. Para poder implementar el mecanismo de suscripción a eventos se utilizan los delegates. El productor tiene tantas instancias de tipo delegate como eventos pueda producir. Cuando un consumidor quiere suscribirse a un evento concreto ha de añadir a la lista de métodos del delegate correspondiente la referencia a un método (del consumidor) que será el que se invoque a través del delegate cuando se de el evento. Al método cuya referencia se pasa al delegate se llama método manejador del evento. El productor o fuente del evento. La clase que se comporta como fuente de eventos se caracteriza por tener un miembro de tipo event, el cual se construye a partir de un tipo delegate. Este miembro de tipo event es el que va a referenciar a la lista de métodos manejadores del evento. Un ejemplo de clase fuente o productor de eventos puede es: 5/11
6 //Delegate que será utilizado como tipo base del evento MiRefME public delegate void ReferenciaManejadoresEventos (object fuente, ArgumentosEvento eventargs); //Clase productora o fuente del evento MiRefME public class MiFuenteEventos //MiRefME es el evento, su tipo está determinado por el delegate //ReferenciaManejadoresEventos public event ReferenciaManejadoresEventos MiRefME; //Este método será llamado por los consumidores de eventos //para suscribirse al evento public void AñadirManejador (MiManejadorEventos manejador) //Añade a la lista de métodos manejadores la referencia al //método ManejadorMiFuenteEventos, el cual ha de existir //en el objeto manejador y será el método del consumidor //al que se llame cuando se de el evento MiRefME this.mirefme += new ReferenciaManejadoresEventos (manejador.manejadormifuenteeventos); //Este método será llamado cuando se desee lanzar el evento public void LanzarEvento () //A través de MiRefME se invoca a todos los métodos //manejadores registrados en la lista referenciada por //MiRefME. this.mirefme (this,new ArgumentosEvento ("MiFuenteEventos")); El elemento primordial de esta clase es public event ReferenciaManejadoresEventos MiRefME; al cual pueden suscribirse los consumidores o manejadores de eventos y a través del cual pueden ser invocados. El resto, es decir, los métodos de la clase, han sido creados para facilitar el manejo del evento. Es importante notar que la estructura de los métodos manejadores, cuyas referencias se añadirán a la lista de MiRefME, es determinada por el delegate: public delegate void ReferenciaManejadoresEventos (object fuente, ArgumentosEvento eventargs); en este ejemplo como puede verse, al invocar a los métodos manejadores del evento se le pasan dos argumentos (que es el caso más común): fuente representa la clase del objeto que ha generado el evento. eventargs representa los argumentos del evento. 6/11
7 Los argumentos del evento. Cuando se notifica un evento a un consumidor, se transmite al consumidor o manejador cierta información relativa al evento. Piense en un evento pulsación de tecla que se notifique a un formulario. Un dato interesante es el código de la tecla pulsada. A esta información relativa al evento se le llama argumentos del evento y lo normal es que sea un objeto de una clase derivada de la clase System.EventArgs. Siguiendo el ejemplo anterior: //Al notificar que ha sucedido un evento, lo más común //es que se desee dar alguna información más. //Esto puede hacerse utilizando una clase derivada de EventArgs //en la que se indiquen los argumentos del evento. public class ArgumentosEvento : EventArgs public string fuenteevento; public ArgumentosEvento (string fuenteevento) this.fuenteevento = fuenteevento; El consumidor del evento. El consumidor del evento es un objeto al que se le avisa o notifica que el evento ha ocurrido. Dicho objeto realiza una acción de respuesta a ese evento (por ejemplo, la clase Formulario puede querer ser avisada de un evento pulsación de tecla para mostrar el código de la tecla en una caja de texto). Para poder realizar la acción de respuesta, la clase consumidora del evento ha de poseer un método que será invocado cuando se de el evento y cuyo código provocará la respuesta. Siguiendo con el ejemplo anterior, la clase consumidora o manejadora puede ser: //Una clase manejadora del evento MiRefME ha de disponer del método //ManejadorMiFuenteEventos public class MiManejadorEventos public void ManejadorMiFuenteEventos (object fuente, ArgumentosEvento eventargs) System.Console.WriteLine ("Se ha lanzado un evento"); System.Console.WriteLine ("El origen es: " + eventargs.fuenteevento); El método ManejadorMiFuenteEventos es el que deberá ser invocado cuando se dé el evento. Para ello ha de estar referenciado por la lista del evento MiRefME (obsérvese que los argumentos que espera son los que indica el delegate ReferenciaManejadoresEventos. 7/11
8 Suscripción al evento. Una vez se dispone de las clases productora o fuente y consumidora o manejadora es posible crear objetos de ambas y conectarlos entre sí. Al mecanismo de conexión entre manejador y fuente se le llama suscripción y consiste en añadir la referencia al método manejador del evento a la lista de referencias del evento (MiRefME). Siguiendo con el ejemplo anterior: public class Aplicacion public static void Main(string [] args) MiFuenteEventos MFE = new MiFuenteEventos (); MiManejadorEventos MME = new MiManejadorEventos (); //Suscripción al evento MFE.AñadirManejador (MME); Al pasarle la referencia al objeto MME (MiManejadorEventos) al método AñadirManejador de la fuente de eventos, se añade la referencia al método ManejadorMiFuenteEventos en la lista de manejadores del evento. A partir de ahora, cada vez que se de el evento MiRefME, se llamará al método ManejadorMiFuenteEventos del objeto MME. Es importante tener en cuenta que el modelo de eventos es un patrón de comportamiento que se ha diseñado para manejar la interacción del usuario con el sistema en las aplicaciones gráficas (aunque no es su única aplicación). De este modo puede comprenderse que un caso ejemplo es que un objeto Formulario desee suscribir un método OnClick() al evento click de un objeto de la clase Button. Así, cuando el usuario pulse el objeto de la clase Button se dará el evento click y se llamará al método OnClick() del objeto Formulario. Lanzamiento del evento. Cuando ocurre el evento ha de invocarse a todos los métodos manejadores suscritos al evento. En el caso de una aplicación gráfica esta situación puede corresponder a una pulsación con el ratón por parte del usuario sobre un botón. En este caso, el S.O. es el encargado de lanzar el evento, es decir, llamar al método OnClick() del objeto Formulario suscrito al evento click sobre el botón. En el ejemplo que se está siguiendo un modo de lanzar el evento es: MFE.LanzarEvento (); Con lo que la clase aplicación puede quedar como sigue: public class Aplicacion public static void Main(string [] args) MiFuenteEventos MFE = new MiFuenteEventos (); MiManejadorEventos MME = new MiManejadorEventos (); //Suscripción al evento 8/11
9 MFE.AñadirManejador (MME); System.Console.WriteLine ("Si desea lanzar el evento pulse Enter"); System.Console.ReadLine(); //Lanzamiento del evento MFE.LanzarEvento (); En este caso el evento es lanzado explícitamente cuando el usuario pulsa ENTER. El ejemplo completo. El resultado de unir el código comentado es: using System; //Al notificar que ha sucedido un evento, lo más común //es que se desee dar alguna información más. //Esto puede hacerse utilizando una clase derivada de EventArgs //en la que se indiquen los argumentos del evento. public class ArgumentosEvento : EventArgs public string fuenteevento; public ArgumentosEvento (string fuenteevento) this.fuenteevento = fuenteevento; //Delegate que será utilizado como tipo base del evento MiRefME public delegate void ReferenciaManejadoresEventos (object fuente, ArgumentosEvento eventargs); //Clase productora o fuente del evento MiRefME public class MiFuenteEventos //MiRefME es el evento, su tipo está determinado por el delegate //ReferenciaManejadoresEventos public event ReferenciaManejadoresEventos MiRefME; //Este método será llamado por los consumidores de eventos //para suscribirse al evento public void AñadirManejador (MiManejadorEventos manejador) //Añade a la lista de métodos manejadores la referencia al //método ManejadorMiFuenteEventos, el cual ha de existir //en el objeto manejador y será el método del consumidor //al que se llame cuando se de el evento MiRefME this.mirefme += new ReferenciaManejadoresEventos (manejador.manejadormifuenteeventos); //Este método será llamado cuando se desee lanzar el evento public void LanzarEvento () 9/11
10 //A través de MiRefME se invoca a todos los métodos //manejadores registrados en la lista referenciada por //MiRefME. this.mirefme (this,new ArgumentosEvento ("MiFuenteEventos")); //Una clase manejadora del evento MiRefME ha de disponer del método //ManejadorMiFuenteEventos public class MiManejadorEventos public void ManejadorMiFuenteEventos (object fuente, ArgumentosEvento eventargs) System.Console.WriteLine ("Se ha lanzado un evento"); System.Console.WriteLine ("El origen es: " + eventargs.fuenteevento); public class Aplicacion public static void Main(string [] args) MiFuenteEventos MFE = new MiFuenteEventos (); MiManejadorEventos MME = new MiManejadorEventos (); //Suscripción al evento MFE.AñadirManejador (MME); System.Console.WriteLine ("Si desea lanzar el evento pulse Enter"); System.Console.ReadLine(); //Lanzamiento del evento MFE.LanzarEvento (); Al ejecutarlo se mostrará la siguiente pantalla: Figura /11
11 Si se pulsa la tecla ENTER se lanzará el evento: Figura /11
La sintaxis básica para definir una clase es la que a continuación se muestra:
DEFINICIÓN DE CLASES Y OBJETOS EN C# Sintaxis de definición de clases La sintaxis básica para definir una clase es la que a continuación se muestra: class nombreclase miembros De este modo se definiría
Más detallesTema 7: Polimorfismo. Índice
Tema 7: Polimorfismo Antonio J. Sierra Índice Introducción. Sobrecarga de métodos. Objetos como parámetros. Paso de argumentos. Devolución de objetos. Recursividad. Control de acceso. Static. Final. Argumento
Más detallesTutorial de C# Delegados y Eventos. Por: Óscar López, M.Sc.
Tutorial de C# Delegados y Eventos Por: Óscar López, M.Sc. olopez@uniandino.com.co DELEGADOS Delegados Son unos objetos que implícitamente extienden de System.Delegate y definen un tipo referencia soportado
Más detallesINTRODUCCION A LA PROGRAMACION EN JAVA
Departament d Arquitectura de Computadors INTRODUCCION A LA PROGRAMACION EN JAVA Índice Paso de parámetros en tiempo de ejecución Métodos static Atributos static Try-catch-finally Throws/throw 2 Paso de
Más detallesAspectos de los LP. Diseño de compiladores. Estático vs. Dinámico. Estático vs. Dinámico. Scope. Scope 24/03/2015
Aspectos de los LP Diseño de compiladores Lenguajes de Programación Antes de comenzar con la construcción de un compilador, debemos comprender los conceptos basicos del lenguaje de programación con el
Más detallesEventos. Nota: Los eventos poseen las siguientes características:
Eventos Los Eventos habilitan a una clase u objeto con la capacidad de notificar otras clases u objetos cuando algo de interés ha ocurrido. La clase que produce el evento envía (o dispara) el evento el
Más detallesCategorías de métodos. Métodos constructores y destructores
1. Categorías de los métodos 2. Inicialización de miembros 3. Métodos constructores 4. Inicialización de objetos con y sin constructores 5. Sobrecarga de funciones constructoras 6. Argumentos implícitos
Más detallesClase adicional 2. Estructuras básicas de control. Temas
Clase adicional 2 Temas Estructuras de control Sentencia condicional Iteración Clases Definir una clase Crear una instancia de una clase Campos estáticos Problemas de la clase adicional Problema de diseño
Más detallesTema: Clases y Objetos en C++. Parte II.
Programación II. Guía 4 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II Tema: Clases y Objetos en C++. Parte II. Objetivos Específico Implementar clases, objetos, propiedades, métodos
Más detallesMETODOS, SOBRECARGA Y CONSTRUCTORES
METODOS, SOBRECARGA Y CONSTRUCTORES METODOS Los métodos son funciones de una clase. Generalmente los métodos se dividen en aquellos que se usan internamente en la clase, llamados métodos privados (private),
Más detallesModulo 11. Clases y Objetos en Java
El siguiente texto es una traducción no oficial del documento publicado por el grupo JEDI, Introduction to Programming 1, no pretende en ningún momento reemplazar los contenidos generados por este grupo.
Más detallesEn este capitulo se estudiarán los conceptos relacionados a métodos, como lo son sobrecarga, métodos estáticos.
Lección 3: Creando clases 1. Definición de métodos 2. Sobrecarga de métodos 3. Definición de constructores 4. Creando miembros estáticos 5. Construcción e inicialización de objetos Objetivos En este capitulo
Más detallesLINQ TO AMAZON. Estándar de Implementación. Versión 1.2
LINQ TO AMAZON Estándar de Implementación Versión 1.2 Historia de revisiones Fecha Versión Descripción Autor 22/08/2008 1.0 Creación del documento Guillermo Pérez 23/08/2008 1.1 Actualización del documento
Más detallesProgramación Orientada a Objetos en C#.NET CAPÍTULO 8 DELEGADOS. Ing. Bruno López Takeyas, M.C.
CAPÍTULO 8 DELEGADOS 2 http://www.itnuevolaredo.edu.mx/takeyas 1 Preguntas detonadoras Qué es un delegado? Para qué sirve? En qué circunstancias se recomienda implementar delegados? Qué es un método anónimo?
Más detallesProgramando el Evento Start, Click o De usuario en un Web Panel
Programando el Evento Start, Click o De usuario en un Web Panel Teníamos un web panel que desplegaba información de los clientes y permitía filtrar la información desplegada por nombre completo del cliente.
Más detallesProgramación Avanzada CONCEPTOS BÁSICOS DE IMPLEMENTACIÓN EN C++
Programación Avanzada CONCEPTOS BÁSICOS DE IMPLEMENTACIÓN EN C++ OBJETIVO En este documento se presentan las construcciones básicas de orientación a objetos del lenguaje de programación C++, y recomendaciones
Más detallesForma Básica Clase Java
Programación Orientada a Objetos Conceptos Básicos de Objetos en Java Ing. Julio Ernesto Carreño Vargas MsC. Forma básica de una clase en Java Especifica que la clase forma parte del paquete conceptos
Más detallesUnidad V. Ya veremos qué poner en "algunas_palabras" y "algo_más", por ahora sigamos un poco más.
Implementación Orientada a Objetos. Unidad V 5.1 Estructura de una clase. Una clase consiste en: algunas_palabras class nombre_de_la_clase [algo_más] { [lista_de_atributos] [lista_de_métodos] Lo que está
Más detallesEJEMPLO DE CÓDIGO JAVA BÁSICO. CREAR CLASES CON CAMPOS, CONSTRUCTOR Y MÉTODOS. LA PALABRA CLAVE THIS (CU00652B)
APRENDERAPROGRAMAR.COM EJEMPLO DE CÓDIGO JAVA BÁSICO. CREAR CLASES CON CAMPOS, CONSTRUCTOR Y MÉTODOS. LA PALABRA CLAVE THIS (CU00652B) Sección: Cursos Categoría: Curso Aprender programación Java desde
Más detallesUna Clase: define un grupo de objetos que tienen propiedades similares y se comportan de manera similar.
Clases La programación orientada a objetos utiliza clases para encapsular (envolver, esconder) datos (atributos) y métodos (comportamientos). Por ejemplo, el estéreo de un auto encapsula todos los atributos
Más detallesFACULTAD DE ECONOMIA Y ADMINISTRACION DEPARTAMENTO DE CIENCIAS DE LA COMPUTACION CÁTEDRA PROGRAMACION GENERAL. Trabajo Práctico Nº 4
Trabajo Práctico Nº 4 Ejercicios Teóricos 1. Indique si las siguientes afirmaciones son verdaderas o falsas a. La programación orientada a objetos hace uso de clases y envío de mensajes entre objetos..
Más detallesHOJA DE EJERCICIOS 5 PROGRAMACIÓN CON EXCEPCIONES EN JAVA
Estructura de la Información en Programación I.T.I.G., Matemáticas. Curso 2008/2009 Nombre:... Fecha: / 01 / 2009 HOJA DE EJERCICIOS 5 PROGRAMACIÓN CON EXCEPCIONES EN JAVA Esta hoja de ejercicios nos servirá
Más detallesEjemplo de GUI con Swing
Ejemplo de GUI con Swing Programación Orientada a Objetos Facultad de Informática Dep. Ingeniería del Software e Inteligencia Artificial Universidad Complutense Madrid Una aplicación Swing sencilla El
Más detallesIntroducción a Java. Fernando Cerezal López. 24 Noviembre 2005
24 Noviembre 2005 disponibles de acceso public private protected de tipo static abstract final modificadores más avanzados que no vamos a ver... Clase Sintaxis modificadores class nombreclase{} Tipos primitivos
Más detallesTema 3. Programación orientada a objetos en Java (Parte 1)
Programación en Java Tema 3. Programación orientada a objetos en Java (Parte 1) Luis Rodríguez Baena Facultad de Informática Clases y objetos (I) Clase Cojunto de datos (atributos) y funciones (métodos)
Más detallesIntroducción Programación Modular y a Métodos: Consideremos el siguiente ejercicio:
Introducción Programación Modular y a Métodos: Consideremos el siguiente ejercicio: Ejercicio: Escriba una aplicación que requiera un número real como entrada y que muestre el producto del número y tres.
Más detallesAgenda..NET C# Laboratorio #1
PROGRAMACIÓN III Agenda.NET C# Laboratorio #1 .NET Qué es.net? Una arquitectura tecnológica para la creación y distribución de software como servicio. Servicio en cualquier plataforma, cliente en cualquier
Más detallesProgramación Orientada a Objetos (POO)
Programación Orientada a Objetos (POO) Introducción La programación orientada a objetos es una técnica de programación en la cual expresamos el código en términos relacionados a como vemos las cosas en
Más detalles1. Cuántas sentencias hay en la secuencia principal del siguiente programa?
1. Cuántas sentencias hay en la secuencia principal del siguiente programa? public class PruebaSwitch { System.out.print ("Opcion: "); case 3: System.out.println ("miércoles "); A. 1. B. 4. C. Más de 10.
Más detallesFUNCIONES O MÉTODOS. Algoritmia y Programación
FUNCIONES O MÉTODOS Algoritmia y Programación CONTENIDO Funciones/métodos Definición Partes de una función Ejemplos Ámbito de variables Variables Locales Variables Globales Slide 2 DEFINICIÓN Una función
Más detallesTema: Introducción al IDE de Microsoft Visual C#.
Tema: Introducción al IDE de Microsoft Visual C#. Objetivos: El propósito de este tema es que el alumno se familiarice con el entorno de desarrollo de Visual C# Express mientras crea el formulario más
Más detallesTEMA I PROGRAMACIÓN ORIENTADA A OBJETOS PROGRAMACIÓN N ORIENTADA A OBJETOS OBJETOS (I) OBJETOS (II)
PROGRAMACIÓN N ORIENTADA A OBJETOS TEMA I PROGRAMACIÓN ORIENTADA A OBJETOS Programación OO Se basa en la creación de objetos, con sus propiedades y métodos Ventajas Código optimizado Buena reutilización
Más detallesArreglos Unidimensionales En este tipo de arreglo se hace uso de un índice solamente para hacer referencia a una posición particular del arreglo.
Arreglos (Arrays) en Java Definición: Un arreglo es un objeto contenedor que consiste de una cantidad fija de posiciones o celdas para almacenar valores del mismo tipo en ellas. Cada posición o celda del
Más detallesPROGRAMACIÓN EN C#.NET Programación Orientada a Objetos en C# Ing. Bruno López Takeyas
PROGRAMACIÓN EN C#.NET Programación Orientada a Objetos en C# Ing. Bruno López Takeyas Instituto Tecnológico de Nuevo Laredo 1 Qué es UML? UML = Unified Modeling Language Un lenguaje de propósito general
Más detallesMódulo 3 - Capítulo 1 1. Cuadro de herramientas
file:///h:/varios/curso_intro_net_csharp/modulo3/03_01b.htm Página 1 de 2 Módulo 3 - Capítulo 1 1. Cuadro de herramientas El cuadro o barra de herramientas de Visual Studio 2010, nos permite utilizar los
Más detallesTema 4 Genericidad en Java. Programación Orientada a Objetos Curso 2013/2014
Tema 4 Genericidad en Java Programación Orientada a Objetos Curso 2013/2014 Contenido Antecedentes. Genericidad en Java 5 y posterior. Características avanzadas: Genericidad restringida. Tipo puro. Limitaciones
Más detallesINGENIERIA DE SISTEMAS 1 ESTRUCTURAS DE DATOS (Listas simples) INTRODUCCIÓN A LAS ESTRUCTURAS DE DATOS
INGENIERIA DE SISTEMAS 1 ESTRUCTURAS DE DATOS (Listas simples) 1. INTRODUCCIÓN INTRODUCCIÓN A LAS ESTRUCTURAS DE DATOS Las computadoras fueron diseñadas o ideadas como una herramienta mediante la cual
Más detallesIdentidad, igualdad y equivalencia. Introducción a la programación orientada a objetos
Identidad, igualdad y equivalencia Introducción a la programación orientada a objetos Clases como tipos - 1 Cuando el analista o el diseñador de un sistema orientado a objetos especifica una clase, establece
Más detallesBloque II. Elementos del lenguaje de programación Java
Bloque II. Elementos del lenguaje de programación Java 1.Introducción a los lenguajes de programación 2. Estructura de un programa 3. Datos y expresiones simples 4. Instrucciones de control 5. Entrada/salida
Más detallesCurso Informática Lección 6. Métodos de objetos y clases
Fundamentos de Informática Lección 6. Métodos de objetos y clases Curso 2010-2011 José Ángel Bañares y Pedro Álvarez 2/11/2010. Dpto. Informática e Ingeniería de Sistemas. Índice de contenidos Abstracción
Más detalles7 Suscribirse a las nuevas notificaciones de convocatorias
7 Suscribirse a las nuevas notificaciones de convocatorias Puede suscribirse para recibir notificaciones por correo electrónico de las nuevas convocatorias que se publiquen en su ámbito de interés con
Más detallesPROGRAMACIÓN ORIENTADA A OBJETOS 10/02/2009. Examen de Java. Nombre: DNI: Titulación:
Examen de Java Nombre: DNI: Titulación: 1. Cómo podemos compilar desde la línea de comandos la clase Java A que utiliza una librería empaquetada bd.jar? 2. Indica si es correcto el siguiente código. Justifica
Más detallesDeclaración de una clase
Uso de Clases Declaración de una clase Es recomendable crear un archivo de texto en donde declararemos una clase por cada objeto identificado en nuestro problema, aunque es posible declarar varios objetos
Más detallesPRUEBAS SELECTIVAS ANALISTA INFORMÁTICO TURNO DE ACCESO LIBRE SEGUNDO EJERCICIO DE LA PRIMERA FASE (VERSIÓN CASTELLANO)
PRUEBAS SELECTIVAS ANALISTA INFORMÁTICO TURNO DE ACCESO LIBRE SEGUNDO EJERCICIO DE LA PRIMERA FASE (VERSIÓN CASTELLANO) 1 ACCESO LIBRE. ANALISTA INFORMÁTICO 2º EJERCICIO En el anexo se describen las especificaciones
Más detallesProgramación Orientada a Objetos en C#.NET CAPÍTULO 8 EXCEPCIONES. Ing. Bruno López Takeyas, M.C.
CAPÍTULO 8 EXCEPCIONES 2 http://www.itnuevolaredo.edu.mx/takeyas 1 Preguntas detonadoras Cómo se controlan los posibles errores que ocurran durante la ejecución de una aplicación? Un programador, puede
Más detallesEJERCICIO Y EJEMPLO RESUELTO: USO DE LA INTERFAZ CLONEABLE DE JAVA. MÉTODO CLONE() PARA CLONAR OBJETOS. (CU00912C)
APRENDERAPROGRAMAR.COM EJERCICIO Y EJEMPLO RESUELTO: USO DE LA INTERFAZ CLONEABLE DE JAVA. MÉTODO CLONE() PARA CLONAR OBJETOS. (CU00912C) Sección: Cursos Categoría: Lenguaje de programación Java nivel
Más detallesCREACIÓN DE NUEVAS ACTIVIDADES
Objetivos: Mostrar cómo podemos añadir nuevas actividades a nuestra aplicaciones. CREACIÓN DE NUEVAS ACTIVIDADES El concepto de actividad en Android representa una unidad de interacción con el usuario,
Más detallesIntroducción a la Programación en Java
Introducción a la Programación en Java Clases, Métodos y Atributos Ángel Lucas González Martínez Jaime Ramírez DLSIIS. Facultad de Informática Universidad Politécnica de Madrid Clase Las clases son el
Más detallesPOO PROGRAMACIÓN ORIENTADA A OBJETOS
POO PROGRAMACIÓN ORIENTADA A OBJETOS 1 Programación estructurada, consiste en descomponer el problema objeto de resolución en subproblemas y más subproblemas hasta llegar a acciones muy simples y fáciles
Más detallesSistemas Operativos. Clase 2: Administración de procesos.
Sistemas Operativos Clase 2: Administración de procesos. Administración de procesos Un concepto muy importante en el ambiente de diseño de todo sistema operativo, es el de proceso o tarea. De manera general,
Más detallesBack End Nuevo Cierre de Cajero
- 1 - Índice Índice...2 Introducción a Módulo Cierre de Cajero...3 Introducción...3 Interpretación Formulario Cierre de Cajero...6 Listar Cierres de Cajero...12 Reporte Cierre de Cajero - Anulación Cierre...14-2
Más detallesPRÁCTICA DE LABORATORIO 4 Programación Orientada a Objetos
ESCUELA DE INGENIERÍA DE SISTEMAS DEPARTAMENTO DE COMPUTACIÓN PROGRAMACIÓN 2 PRÁCTICA DE LABORATORIO 4 Programación Orientada a Objetos Contenido Introducción...1 Objeto...2 Atributo...2 Métodos...2 Clase...3
Más detallesUnidad IV. Este tipo de codificación nos es permitido gracias a la sobrecarga, la cual se aplica a métodos y constructores.
Unidad IV Métodos. 4.1 Definición de un método. El polimorfismo, en programación orientada a objetos, se refiere a la posibilidad de acceder a un variado rango de funciones distintas a través del mismo
Más detallesEstructura de datos y Programación
Estructura de datos y Programación Tema: Conceptos Básicos- Estructuras de control - Arreglos Ing. Analia Méndez Ing. Raquel Zarco Año: 2012 ELEMENTOS DE UN PROGRAMA EN JAVA El programa Java consta de
Más detalles2. Tratamiento de objetos con JAVA
2. Tratamiento de objetos con JAVA David Contreras Bárcena (ETSI) - Comillas 71 2.1 Ciclo de Vida de los Objetos Los objetos tienen un tiempo de vida y consumen recursos durante el mismo. Cuando un objeto
Más detallesDefinición. Mónica E. García García Feb 07
Tema 11: Herencia 0 Definición Cuando inicialmente se modelan dos cosas y se tienen datos duplicados y además pudiera darse que el número de métodos también es similar así como la implementación, se requiere
Más detallesCAPÍTULO 2 DISEÑO E IMPLEMENTACIÓN DE MÉTODOS EN C#
CAPÍTULO 2 DISEÑO E IMPLEMENTACIÓN DE MÉTODOS EN C# 2 http://www.itnuevolaredo.edu.mx/takeyas 1 Preguntas detonadoras Qué es un método? Cuáles son los tipos de métodos? En qué se parecen? En qué difieren?
Más detallesUnidad Didáctica 3. Tipos genéricos. Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos
Unidad Didáctica 3 Tipos genéricos Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Definición de tipo genérico Hablamos de un tipo genérico cuando el tipo en cuestión depende
Más detallesCAPÍTULO 14 MANEJO DE EXCEPCIONES
CAPÍTULO 14 MANEJO DE EXCEPCIONES Objetivos...2 14.1 Tratamiento de excepciones...2 14.2 Excepciones predefinidas comunes...2 14.3 Bloque Try Catch...3 14.4 Captura de excepciones. Instrucción try...4
Más detallesTECNICAS DE PROGRAMACION Universidad Católica Los Angeles de Chimbote METODOS CONSTRUCTORES Y LA REFERENCIA THIS
METODOS CONSTRUCTORES Y LA REFERENCIA THIS Un Constructor es una función, método, etc, de las clases, la cual es llamada automáticamente cuando se crea un objeto de esa clase. Por ser métodos, los constructores
Más detallesArrays. Los arreglos son una colección de objetos del mismo tipo los cuales tienen un nombre en común y su acceso es mediante un índice.
Tema 10: Arreglos 0 Arrays Los arreglos son una colección de objetos del mismo tipo los cuales tienen un nombre en común y su acceso es mediante un índice. Declaración tipo dato[ ] identificador; tipo_dato
Más detallesINTRODUCCIÓN A VISUAL BASIC
INTRODUCCIÓN A VISUAL BASIC Lenguaje de programación basado en objetos y dirigido por eventos (o sucesos), desarrollado por el alemán Alan Cooper para el entorno Windows de Microsoft. Es un lenguaje de
Más detallesDiseño y Programación Orientados a Objetos 29 de Abril de Primer Certamen
Primer Certamen Primera parte, sin apuntes (30 minutos; 1/3 de la nota): 1.- Responda brevemente y entregue en hoja con su nombre. a. Al redefinir un método en una subclase, es posible retornar un objeto
Más detallesHOJA DE EJERCICIOS 3 HERENCIA ENTRE CLASES Y POLIMORFISMO DE MÉTODOS
Estructura de la Información en Programación I.T.I.G., Matemáticas. Curso 2009/2010 Nombre:... Fecha: / 11 / 2009 HOJA DE EJERCICIOS 3 HERENCIA ENTRE CLASES Y POLIMORFISMO DE MÉTODOS Esta hoja de ejercicios
Más detalles12. Tipos de atributos
Programación orientada a objetos con Java 135 12. Tipos de atributos Objetivos: a) Profundizar en el concepto de atributo de una clase e indicar los tipos de atributos en Java b) Interpretar el código
Más detallesDerechos de Acceso: COMPOSICION
CLASES Una clase es un tipo definido por el usuario que describe los atributos y los métodos de los objetos que se crearan a partir de la misma. class nombre_clase cuerpo de la clase Derechos de Acceso:
Más detallesProgramación Orientada a Objetos. Sesión 4: Herencia
Programación Orientada a Objetos Sesión 4: Herencia Contextualización Cuando hablamos de informática, podemos contemplar varios elementos que se utilizan dentro de ésta misma, por ejemplo, la herencia
Más detalles75-62 Técnicas de Programación Concurrente II 2007
FIUBA 75-62 Técnicas de Programación Concurrente II 2007 Trabajo Práctico 1 Repaso General de Java Ing. Osvaldo Clúa Los siguientes proyectos están dirigidos a un repaso de Java básico. En los TP posteriores
Más detallesManual de la solicitud de alta de cuenta de correo.
Manual de la solicitud de alta de cuenta de correo. Este servicio posibilita que el Personal de la Universidad pueda presentar de forma telemática la solicitud de creación de una cuenta de correo, ya sea
Más detalleso Una clase es un tipo al cual pertenecen objetos o instancias de la clase.
o Una clase es un tipo al cual pertenecen objetos o instancias de la clase. Introducción a la Programación Orientada a Objetos EII147-01-02 Introducción a las tecnologías de información Clase Persona:
Más detallesREPASO ARRAYS MULTIDIMENSIONALES EN JAVA. DECLARACIÓN Y USO. EJEMPLOS Y EJERCICIOS RESUELTOS. (CU00905C)
APRENDERAPROGRAMAR.COM REPASO ARRAYS MULTIDIMENSIONALES EN JAVA. DECLARACIÓN Y USO. EJEMPLOS Y EJERCICIOS RESUELTOS. (CU00905C) Sección: Cursos Categoría: Lenguaje de programación Java nivel avanzado I
Más detalles! Qué es la POO?! Un paradigma de programación. ! No hay paradigmas mejores ni peores! Todos tienen sus ventajas e inconvenientes
Introducción Programación orientada a objetos Curso INEM. Programación en Java Santiago Muelas Pascual smuelas@fi.upm.es! Qué es la POO?! Un paradigma de programación! Un paradigma es una forma de afrontar
Más detallesLABORATORIO COMPUTACIÓN GRAFICA
UNIVERSIDAD NACIONAL AUTONOMA DE MÉXICO FACULTAD DE INGENIERIA PRACTICA 5. INTERACTIVIDAD LABORATORIO COMPUTACIÓN GRAFICA PROFESORA: M.I. ELIZABETH FONSECA CHAVEZ GRUPO: 4 VAZQUEZ TOUNGATE REYNA CATALINA
Más detallesMétodos. Los métodos pueden ser de un tipo específico como int, double, String, Cuenta, etc. o simplemente no tener algún tipo como void.
Métodos Los métodos son utilizados para definir un grupo de instrucciones que son separadas y que definen un comportamiento, que requieren en algunos casos de valores para su proceso. Un método es algo
Más detallesTema 6: Clases. Índice
Tema 6: Clases Antonio J. Sierra Índice 1. Fundamentos. 2. Declaración de objetos. 3. Asignación de objetos a variables referencia. 4. Métodos. 5. Constructores. 6. this. 7. Recogida de basura. 8. Modelado
Más detallesIdentidad, igualdad y equivalencia
Identidad, igualdad y equivalencia Introducción a la Programación Orientada a objetos 2018 Clases como tipos Cuando el analista o el diseñador de un sistema orientado a objetos especifica una clase, establece
Más detalles2.1. Introducción al lenguaje Java
Bloque II. Elementos del lenguaje de programación Java 1.Introducción a los lenguajes de programación 2. Estructura de un programa 3. Datos y expresiones simples 4. Instrucciones de control 5. Entrada/salida
Más detallesINTERACCION ENTRE OBJETOS
INTERACCION ENTRE OBJETOS Corina Flores Villarroel UMSS - Contenido Este capítulo se discutirán conceptos relacionados con: Abstracción y encapsulamiento, Modularización, composición Creación de objetos,
Más detallesLección 2: Creando una Aplicación en Java. 1. Estructura del archivo de una clase. 3. Definiendo clases fundamentos
Lección 2: Creando una Aplicación en Java 1. Estructura del archivo de una clase 2. Usando una clase 3. Definiendo clases fundamentos Objetivos Conocer: La forma en la cual está se está estructurado el
Más detallesCarlos Montenegro. Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas
2 - Introducción al lenguaje Java, identificadores y comentarios. Carlos Montenegro Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas 1. Introducción: Java tiene como todos
Más detallesManual netwarning. <iframe src ="http://www.google.com" width="100%" height="300"> <p>your browser does not support iframes.</p> </iframe> Cuadro-1
6. Configuración Iframes netwarning permite ser insertado dentro de web, de esta forma los usuarios al interactuar con netwarning lo percibirán como parte de su web. Para poder insertar netwarning en su
Más detalles1.2. Es Java un lenguaje ideal para aprender a programar? 1.4. Cuáles son las versiones y distribuciones Java y cuál usar?
1 1. Introducción 1.1. Qué es Java? 1.2. Es Java un lenguaje ideal para aprender a programar? 1.3. Es Java software libre? 1.4. Cuáles son las versiones y distribuciones Java y cuál usar? 1.5. Qué sistema
Más detallesEstructuras de control condicionales
Estructuras de control condicionales Por defecto, las instrucciones de un programa se ejecutan secuencialmente: El orden secuencial de ejecución no altera el flujo de control del programa respecto al orden
Más detallesConceptos básicos de Orientación a Objetos, manejo con Eclipse.
Conceptos básicos de Orientación a Objetos, manejo con Eclipse. Arrancar Eclipse. Después de descomprimir la aplicación, dar doble clic sobre el ícono ejecutable para arrancar la aplicación. En caso de
Más detallesUnidad II Tema 3: Tratamiento de arreglos y cadenas en Java
Unidad II Tema 3: Tratamiento de arreglos y cadenas en Java Profesor: Jorge Escalona / Tobías Bolívar Email: escaljorge@gmail.com / tobiasbolivar@gmail.com Web: http://estructuradatos.tripod.com 1 Qué
Más detallesLas listas son una sucesión de cero o más elementos. Esta es una definición muy simple y que no aclara demasiado en términos informáticos.
LISTAS Las listas son una sucesión de cero o más elementos. Esta es una definición muy simple y que no aclara demasiado en términos informáticos. Hay varios tipos de listas, las hay enlazadas, no enlazadas,
Más detallesIntroducción a la programación con C#.
Introducción a la programación con C#. El programa básico, Hola Mundo. El siguiente programa es la versión C# que muestra la cadena Hola Mundo por consola. // Programa C# que muestra Hola Mundo por consola.
Más detallesTema: Funciones Virtuales y Polimorfismo.
Programación II. Guía No. 10 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II Tema: Funciones Virtuales y Polimorfismo. Objetivos Comprender que es ligadura e identificar sus tipos.
Más detallesTema: Funciones Virtuales y Polimorfismo.
Programación II. Guía 10 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II Tema: Funciones Virtuales y Polimorfismo. Objetivos Específicos Comprender que es ligadura e identificar
Más detallesDentro del.net los eventos se utilizan para notificar a nuestros objetos que se ha producido algún tipo de hecho al que nos hemos suscrito.
Eventos ala.net Recientemente ha surgido en los grupos de C# una duda sobre si los eventos que usa el.net son del mismo tipo que los que nosotros podemos crear y usar. La respuesta obvia y evidente es
Más detallesTECNICAS DE PROGRAMACION Universidad Católica Los Angeles de Chimbote MODIFICADORES DE ACCESO A LOS MIEMBROS DE UNA CLASE
MODIFICADORES DE ACCESO A LOS MIEMBROS DE UNA CLASE Los modificadores de acceso, como su nombre indica, determinan desde qué clases se puede acceder a un determinado elemento. En Java tenemos 4 tipos:
Más detallesVariables Globales: Estas se crean durante toda la ejecución del programa, y son globales, ya que pueden ser llamadas, leídas, modificadas, etc;
FUNCIONES. C++ JAVA FUNCIONES C++. En C, se conocen como funciones aquellos trozos de códigos utilizados para dividir un programa con el objetivo que, cada bloque realice una tarea determinada. En las
Más detallesClases abstractas e interfaces en Java
Clases abstractas e interfaces en Java Clases abstractas public abstract class Figura { private String _nombre; public Figura (string nombre) { _nombre = nombre; final public boolean mayor_que (Figura
Más detallesLISTAS CIRCULARES. // Métodos private CElemento() {} // constructor. ultimo
LISTAS CIRCULARES Una lista circular es una lista lineal en la que el último elemento apunta al primero. Entonces es posible acceder a cualquier elemento de la lista desde cualquier punto dado. Las operaciones
Más detallesTema 3. Herencia. Programación Avanzada. Jorge Badenas
Tema 3. Herencia Programación Avanzada Jorge Badenas 1. Herencia Herencia: relación entre dos clases, donde una clase nueva se define como una extensión de la otra. En la nueva clase sólo necesitamos escribir
Más detallesClases y Objetos en C++
Informática II Clases y Objetos en C++ Introducción Las variables de los tipos fundamentales de datos no son suficientes para modelar adecuadamente objetos del mundo real. alto, ancho y longitud para representar
Más detallesGuía práctica de estudio 07: Herencia
Guía práctica de estudio 07: Herencia Elaborado por: M.C. M. Angélica Nakayama C. Ing. Jorge A. Solano Gálvez Autorizado por: M.C. Alejandro Velázquez Mena Guía práctica de estudio 07: Herencia Objetivo:
Más detalles