C#: Programación orientada a objetos

Clase parametrizada o genérica

¡Prueba gratis durante 10 días

nuestros 1199 cursos !

Prueba gratis Mostrar modalidades de suscripción
Al igual que los métodos, existen algunas clases que pueden recibir parámetros para definir sus componentes. En este capítulo veremos más a detalle qué son y para qué sirven estas clases en la programación.
08:16

Transcripción

A lo largo de este curso hemos modelado un sistema de administración para una institución educativa. Para ello, hemos creado clases que representan las entidades principales de la institución y que además nos van a servir en nuestro sistema. Podemos observar en nuestro explorador de soluciones estas clases que hemos creado. La clase "Estudiante", "Materia", "Empleado" y de ella también puede derivar otras clases, como son: "Profesor", "Secretaria", entre otros. A partir de estas clases que hemos definido, vamos a poder crear tantos objetos como necesitemos. Si revisamos nuestro programa principal, podemos ver que he creado, por ejemplo, un "Estudiante", y lo he nombrado "estudiante". Esto es, que a partir de la clase "Estudiante" he creado un objeto "estudiante". Como mencioné anteriormente, puedo crear "n" cantidad de objetos a partir de la misma clase. Es decir, en el mismo código puedo hacer lo siguiente: Reviso los constructores, podemos ahora utilizar otro constructor, también puede ser con el mismo. Voy a declarar esta variable. Voy a decir que es igual a "true". Y ahora voy a crear un nuevo estudiante. Por supuesto, no puedo nombrarlo de la misma forma que el estudiante que ya había creado previamente. Por lo tanto, pondré el siguiente nombre: "estudianteB". Voy a decir que es igual a un nuevo estudiante y le paso el parámetro que requiere. De esta forma he creado dos objetos a partir de la misma clase. Los objetos "estudiante" y "estudianteB", creados a partir de la misma clase, van a tener siempre los mismos atributos y comportamientos, pero sus valores pueden diferir. Voy a poner un "breakpoint", voy a ejecutar, y voy a verificar los valores y los atributos de "estudiante" y "estudianteB". Si observamos "estudiante", cuenta con los atributos "Estatus", "GradoGrupo", "ID", etcétera. "estudianteB", como mencioné anteriormente, va a tener los mismos atributos: "Estatus", "GradoGrupo", "ID", etcétera. Lo que varía entre estos dos objetos son los valores. Si revisamos el objeto "estudiante", podemos ver que "GradoGrupo" es igual a "5A" o "Quinto A", y "Nombre" es igual a "Pepito". Si yo reviso el "estudianteB", "GradoGrupo" es nulo y el "Nombre" está vacío. De esta forma, comprobamos que tienen los mismos atributos, pero valores diferentes. Voy a detener la ejecución del programa y vamos a pensar en un nuevo problema que debemos resolver con nuestro sistema. Vamos a suponer que hasta ahora hemos considerado únicamente empleados en la clase "Empleados", que son internos. Pero en este momento nos avisan que debemos considerar también empleados de tipo externo. Es decir, que sean contratados por empresas externas. El problema va a ser el siguiente: Yo ya tengo considerado para mis empleados un código o "ID" de tipo entero. Los empleados externos que ahora debemos considerar tienen un "ID" de tipo "string". Este es el "ID" que le asigna la empresa que los ha contratado. Por lo tanto, no quiero hacer modificaciones, quiero que se mantenga su "ID" como es en ese momento. Para resolver este problema vamos a recurrir a las clases parametrizadas. Una clase parametrizada, también conocida como clase genérica, me va a permitir recibir un parámetro y, a partir de este, definir sus componentes. El parámetro que va a recibir la clase genérica o parametrizada únicamente va a representar el dato que voy a utilizar para definir los miembros de la clase. Para convertir nuestra clase "Empleado" a una clase genérica o parametrizada vamos a hacer lo siguiente: Únicamente voy a abrir y cerrar estos símbolos y voy a indicar que voy a recibir un "Tipo". El "Tipo" que estoy recibiendo es el que me va a servir para identificar qué tipo de "ID" va a tener el empleado. Por lo tanto, también voy a modificar este atributo que habíamos creado anteriormente. Voy a poner que "ID" va a ser de tipo "Tipo". También debo modificar la propiedad y poner que va a ser "Tipo". Voy a modificarlo para agregar también el identificador de acceso "set" para que podamos probar con él. Voy ahora al programa principal para verificar y mostrarles cómo vamos a crear un objeto a partir de una clase genérica. Para cada una de las clases derivadas de la clase "Empleado" también debo agregar un "Tipo". Voy, entonces, a ir a la clase "Profesor" y voy a agregar lo siguiente: Para la clase "Profesor" también voy a recibir un tipo y voy a heredar de la clase "Empleado" que también es una clase genérica o parametrizada. Ya lo he hecho para "Profesor". Voy a cerrar este y voy a abrir "Secretaria". La tenemos, por el momento, vacía, pero si no hacemos esta corrección, nos va a marcar un error. Donde esté utilizando estas clases, también debo hacer la corrección. En la clase "Materia" teníamos este y, de hecho, nos marca el error porque no estamos indicando el tipo. Vamos a comentarlo por el momento para poder hacer la prueba que queremos. Voy a compilar y, de hecho, antes de compilar ya nos está marcando un error. Para crear un nuevo profesor ahora, ya que se convirtió también en una clase parametrizada, vamos a hacer lo siguiente: Al tipo "Profesor" le voy a agregar el parámetro que va a ser el "Tipo". En este caso, si es un entero, vamos a decir que es un profesor interno. Luego, cuando ponemos "new Profesor", vamos a poner también el tipo entero. Y solamente hacemos lo siguiente: Cambiar el nombre, donde estamos mandando llamar el método "Checar". Si quisiéramos crear otro profesor, pero que sea externo, haríamos lo siguiente: En lugar de enviar el parámetro con el tipo entero, lo voy a hacer con el tipo "string": Profesor externo igual a un nuevo profesor con el parámetro de tipo "string". De esta forma hemos creado la clase parametrizada "Empleado" al igual que todas sus clases derivadas.

C#: Programación orientada a objetos

Conoce a fondo el paradigma de programación orientado a objetos, partiendo de los conceptos principales y la teoría para posteriormente aplicarlo en el código con Visual Studio C#.

2:22 horas (31 Videos)
Actualmente no hay comentarios.
 
Software:
Fecha de publicación:5/04/2017

Este curso video2brain está disponible como descarga y para ser visualizado online. ¡Pero no hace falta que decidas entre las dos opciones! Al comprar el curso, disfrutarás de ambas posibilidades.

La descarga te permite ver las lecciones sin estar conectado/a a internet y supone una navegación fácil y ágil entre capítulo y capítulo. Si vas a trabajar en diferentes ordenadores o si no quieres descargarte el curso completo, entra en la web con tus datos de acceso y disfruta directamente de tus vídeos online. Te deseamos que disfrutes de este curso y te resulte de mucha utilidad.

Estamos a tu disposición si tienes cualquier tipo de duda o pregunta.