Tema: Genéricos en C#.

Anuncio
Programación II. Guía No. 10
1
Facultad:
Ingeniería
Escuela:
Computación
Asignatura: Programación II
Tema: Genéricos en C#.
Objetivos

Conocer genéricos en C#.

Utilizar los genéricos en C# para la resolución de problemas.

Aplicar el concepto de genericidad utilizado en la POO.
Materiales y Equipo
 Computadora con Visual Studio 2012 o superior.
 Guía Número 10.
Introducción Teórica
Los generics son el mecanismo de implementación de las clases parametrizadas introducido en
la versión 2.0 del lenguaje C#. Una clase parametrizada es exactamente igual a una clase de
las habituales, salvo por un pequeño detalle: su definición contiene algún elemento que
depende de un parámetro que debe ser especificado en el momento de la declaración de
un objeto en dicha clase.
Tipos de datos genéricos
¿Qué es un tipo genérico?
Un tipo genérico corresponde a un contenedor de tipos, es decir, un lugar o ubicación donde
podemos hacer que resida un tipo de dato específico. Este concepto se puede contrastar con
las plantillas en el lenguaje de programación C++.
Gráficamente, podemos representarlo, así:
2
Programación II. Guía No. 10
Métodos Genéricos
Un método genérico es aquel que tiene especificado en su forma un conjunto de parámetros de
tipo. Gracias a esta propiedad de genericidad, el método puede operar sobre cualquier tipo
pasado como argumento y realizar operaciones generales para los tipos para los que fue
construido (propiedad de generalización). Incluso, gozará de los beneficios fundamentales de
los tipos genéricos: alto desempeño, seguridad de tipos y reusabilidad.
Declaración de un método genérico:
{modificador de acceso} {tipo retorno} {nombre método}<T[,T,…]>({parámtros}){restricciones}
{
//Implementación
}
Clase Genérica
El modelamiento de una clase genérica compone la aplicación o seguimiento de un principio
básico, el de la generalización.
Una clase genérica es un tipo de dato que posee operaciones generalizadas o independientes
del tipo de dato a manipular.
Declaración de una clase genérica:
{modificador de acceso} class {nombre clase}<T[,T,…]>{restricciones}
{
//Cuerpo de la declaración
}
La Clase Genérica List<T>
Es una de las clases más utilizada en lo que a colecciones genéricas se refiere. Esta lista
representa una lista de objetos tipificada que puede ser accedida por índices, cuenta con
métodos que permiten buscar, ordenar y manipular la lista.
Declaración de una lista genérica:
List<<Tipo_dato>><Nombre_Lista> = new <<Tipo_Dato>>();
Programación II. Guía No. 10
3
Procedimiento
Ejemplo_1:
Bibliografía
A continuación se presenta un programa que muestra la definición de una clase genérica y las
diferentes
que se pueden realizar sobre la misma:
Guía operaciones
1
Ejemplo_2
A continuación se presenta un ejemplo de aplicación de consola que hace uso de una lista
genérica para almacenar un número indeterminado de objetos. Además sobre la lista se
procede a aplicar las funciones de agregar, eliminar y buscar registros dentro de dicha
estructura.
El siguiente código deben guardarlo con el nombre: Instrumento.cs
4
Programación II. Guía No. 10
En la siguiente clase [Display] ,tenemos la creación de la lista genérica, así como también
el menú con las diferentes opciones que presentaremos al usuario.
Guardar el archivo como: Display.cs
Programación II. Guía No. 10
5
6
Programación II. Guía No. 10
Programación II. Guía No. 10
7
Ejemplo_3
Se muestra la implementación de métodos genéricos. Además, se utiliza la palabra clave
“dynamic”, la cual permite que las operaciones en las que se produce omitan la
comprobación de tipo en tiempo de compilación. En su lugar se resuelven estas
operaciones en tiempo de ejecución.
Análisis de Resultados
Ejercicio No. 1:
Modificar el ejemplo 1 de tal manera que la aplicación:
1. Solicite Datos al usuario para guardarlos en la lista.
2. Busque un dato específico.
3. Muestre todos los datos de la lista.
8
Programación II. Guía No. 10
Ejercicio No. 2:
Tomando como base el ejemplo 3, y haciendo uso de los métodos genéricos, deberá crear un
menú con las siguientes opciones:
RC. Raíz Cuadrada.
EV. Contar los elementos de un vector.
EX. Salir.
Investigación Complementaria
Investigar lo siguiente:
¿Cuáles son las ventajas y desventajas al usar los generics de C#?
¿Qué son las bibliotecas de clase STL y para qué sirven?
Ejercicio:
Desarrollar una aplicación haciendo uso del Generic Array_List, que permita hacer lo
siguiente:
A. Llenar ArrayList.
B. Mostrar elementos.
C. Buscar dentro de ArrayList.
D. Salir.
9
Programación II. Guía No. 10
Guía 10: Genéricos en C#.
Hoja de cotejo:
Alumno:
10
Máquina No:
EVALUACIÓN
Docente:
%
CONOCIMIENTO
Del 20
al 30%
APLICACIÓN
DEL
CONOCIMIENTO
Del 40%
al 60%
ACTITUD
Del 15%
al 30%
TOTAL
100%
GL:
Fecha:
1-4
5-7
8-10
Conocimiento
deficiente de
los fundamentos
teóricos
Conocimiento
y explicación
incompleta de
los
fundamentos
teóricos
Conocimiento
completo y
explicación
clara de los
fundamentos
teóricos
No tiene
actitud
proactiva.
Actitud
propositiva y
con
propuestas no
aplicables al
contenido de
la guía.
Tiene actitud
proactiva y
sus
propuestas
son
concretas.
Nota
Descargar