Sei sulla pagina 1di 9

Catedrtico: Josu El Quijada - Desarrollador 5 estrellas .

NET
ESFE/AGAPE - Desarrollo de Software II
Manual Para Desarrollador 5 Estrellas de .NET 2010
Agape
ESCUELA SUPERIOR FRANCISCANA ESPECIALIZADA EN CIENCIA Y TECNOLOGA

Gua de Aprendizaje Leccin 2

Objetivos: Utilizar y conocer los principales tipos de relaciones entre clases.

Para seguir con esta leccin utilizaremos las mismas clases de la leccin
anterior Estudiante y Carrera.

Relacin de Herencia: la principal caracterstica de este tipo de relacin es el


hecho que todas las propiedades de la clase hija son heredadas directamente
a la clase madre, por ejemplo si tenemos la clase Estudiante y la clase
Carrera, Donde Estudiante Hereda de Carrera; esto significa que todos los
atributos de carrera se vern como miembros directos en la clase Estudiante.
Para realizar una relacin de herencia basta con ubicarnos en la clase madre,
colocamos : + el Nombre de la clase Hija. La clase que hereda en nuestro
caso es Estudiante. nos queda de la siguiente manera
Catedrtico: Josu El Quijada - Desarrollador 5 estrellas .NET
ESFE/AGAPE - Desarrollo de Software II
Manual Para Desarrollador 5 Estrellas de .NET 2010
Agape
ESCUELA SUPERIOR FRANCISCANA ESPECIALIZADA EN CIENCIA Y TECNOLOGA

Como veremos a continuacin aparecen desplegadas las propiedades de la


carrera como si fueran propiedades del estudiante.

Para que quede ms claro le asignaremos valores a todas las propiedades y


veamos siempre las propiedades de carrera aparecen como que fueran
miembro de Estudiante.
Catedrtico: Josu El Quijada - Desarrollador 5 estrellas .NET
ESFE/AGAPE - Desarrollo de Software II
Manual Para Desarrollador 5 Estrellas de .NET 2010
Agape
ESCUELA SUPERIOR FRANCISCANA ESPECIALIZADA EN CIENCIA Y TECNOLOGA

Relacin de Agregacin y Composicin: en este tipo de relacin se adhiere


toda la clase hija a la clase madre, como si la clase hija fuese un atributo de la
clase madre, esto significa que a diferencia de la relacin de herencia (donde
las caractersticas de la clase hija, eran accesibles directamente desde la clase
madre). Hagamos un ejemplo, para ello quitemos la relacin de herencia que
hicimos anteriormente, y procedemos a agregar un nuevo atributo a la clase
Estudiante, ese nuevo atributo no ser de tipo string, sino que de tipo
Carrera, que es el tipo que nosotros hemos creado, o sea nuestra clase,
despus procedemos a hacer encapsulamiento y agregar el parmetro
correspondiente al constructor para que est lista la relacin para trabajar
con el program
Catedrtico: Josu El Quijada - Desarrollador 5 estrellas .NET
ESFE/AGAPE - Desarrollo de Software II
Manual Para Desarrollador 5 Estrellas de .NET 2010
Agape
ESCUELA SUPERIOR FRANCISCANA ESPECIALIZADA EN CIENCIA Y TECNOLOGA

El constructor queda de la siguiente manera

Esta lista nuestra relacin de agregacin, ahora podemos trabajar en el


progarm para ver los efectos y como se utiliza este tipo de relacin. Veamos
como la programacin que habamos hecho ahora ya da error, esto es
porque ya no existe la relacin de herencia y por lo tanto el atributo
NombreDeCarrera y Especialidad ya no son accesibles desde la clase
Estudiante.
Catedrtico: Josu El Quijada - Desarrollador 5 estrellas .NET
ESFE/AGAPE - Desarrollo de Software II
Manual Para Desarrollador 5 Estrellas de .NET 2010
Agape
ESCUELA SUPERIOR FRANCISCANA ESPECIALIZADA EN CIENCIA Y TECNOLOGA

Para corregir debemos acceder al atributo NombreDeCarrera anteponiendo


la clase Carrera que ahora es un atributo de la clase Estudiante quedando
as:

Obsrvese como el error de compilacin desaparece, bueno a continuacin


podra mostrarse en consola el contenido de los atributos a travs de
Console.WriteLine() tarea que dejare a creatividad de cada uno de los
estudiantes de este curso.
Catedrtico: Josu El Quijada - Desarrollador 5 estrellas .NET
ESFE/AGAPE - Desarrollo de Software II
Manual Para Desarrollador 5 Estrellas de .NET 2010
Agape
ESCUELA SUPERIOR FRANCISCANA ESPECIALIZADA EN CIENCIA Y TECNOLOGA

Listas: (List<T>) La Clase Genrica List<T>

Esta es la clase de uso ms comn en lo que respecta a colecciones genricas


en .NET. La clase List<T> representa una lista tipificada de objetos que puede
ser accedida por ndices. Tiene mtodos para buscar, ordenar y manipular las
listas.

En general las colecciones defino en el sinnimo ms sencillo como una jaula


en la cual debemos especificar para qu tipo de animal est fabricada o ms
bien qu tipo de animal podemos meter dentro de ella, una vez fabricada la
jaula podemos meter, buscar, ordenar y manipular los animales dentro de
ella, entonces la jaula se convierte en un contenedor de objetos y los
animales en los objetos, ms adelante veremos cmo hacer que nuestra lista
acepte diferentes tipos de objetos(Lista Genrica).

Constructores de List<T>

Esta clase tiene 3 constructores, siendo el ms comn el constructor sin


parmetros; sin embargo existe la posibilidad de crear una lista de tamao
fijo - constructor que recibe tamao de lista - y tambin podemos crear una
lista a partir de otra lista. El siguiente cdigo nos muestra el uso de los
constructores mencionados:
Catedrtico: Josu El Quijada - Desarrollador 5 estrellas .NET
ESFE/AGAPE - Desarrollo de Software II
Manual Para Desarrollador 5 Estrellas de .NET 2010
Agape
ESCUELA SUPERIOR FRANCISCANA ESPECIALIZADA EN CIENCIA Y TECNOLOGA

Para el siguiente ejemplo Limpiaremos nuestro Program y ocuparemos las


clases Carrera y Estudiante que ya tenemos construidas, procedemos a crear
3 instancias(o sea 3 Objetos) de la clase Carrera, les pondremos de nombre
_carrera1, _carrera2, y _carrera3, utilizaremos los constructores que piden
valores para que los objetos no estn vacos y hacer ms entendible este
tema. Tambin crearemos 4 instancias de la clase Estudiante y de igual
manera ser con valores para los objetos, nos queda as:

Ntese como la instancia de estudiante pide un ltimo valor el cual es un


objeto del tipo carrera que creamos antes del estudiante. Ahora crearemos la
instancia para la lista con el constructor sin parmetros como se muestra a
continuacin:

Una vez creada la lista utilizaremos el mtodo para agregar objetos a ella
este mtodo se llama Add().
Catedrtico: Josu El Quijada - Desarrollador 5 estrellas .NET
ESFE/AGAPE - Desarrollo de Software II
Manual Para Desarrollador 5 Estrellas de .NET 2010
Agape
ESCUELA SUPERIOR FRANCISCANA ESPECIALIZADA EN CIENCIA Y TECNOLOGA

Ya tenemos nuestra coleccin de objetos, ahora vamos a crear un mtodo


en el cual se le enviar la coleccin como parmetro, para que recorra e
imprima la lista a travs de una estructura foreach, veamos cmo esta vez el
mtodo recibe un objeto que contiene ms objetos, eso significa que los
mtodos no solo reciben valores o propiedades como parmetros, sino que
tambin objetos o colecciones de objetos, de igual manera puede retornar
objetos o colecciones de objetos. el mtodo y su ejecucin queda de la
siguiente manera:

Como ya sabemos el mtodo ImprimirLista, es un subprograma por lo tanto


debe ir fuera de la llave que cierra al Main. Listo ejecutemos nuestro
programa presionando Ctrl+F5 para que programa ponga una pausa
automtica antes de terminar y el resulta es el siguiente:
Catedrtico: Josu El Quijada - Desarrollador 5 estrellas .NET
ESFE/AGAPE - Desarrollo de Software II
Manual Para Desarrollador 5 Estrellas de .NET 2010
Agape
ESCUELA SUPERIOR FRANCISCANA ESPECIALIZADA EN CIENCIA Y TECNOLOGA

la estructura foreach(){}, permite recorrer una coleccin de objetos o valores,


como arreglos, lista, pilas, colas Etc. Que son colecciones que veremos en un
capitulo prximo la sintaxis bsica del foreach() es la siguiente:

foreach(TipoARecorrer NombreDeInstanciaActual in NombreDeColeccion){}

Veamos Nuestro ejemplo anterior:

Potrebbero piacerti anche