Beruflich Dokumente
Kultur Dokumente
Tema
Composicion.
Agregacion.
DataGridView
GetEnumerator()
Clases Sealed
Webgrafa
Bibliografa
Pagina
1-8
9-16
17-29
30-34
35-39
40.
41
1. Composicin
En informtica, la composicin de objetos o object composition (que no debe ser
confundida con la composicin de funciones) es una forma de combinar objetos o
tipos de datos simples en complejos.
Qu es?
Es una relacin que representa a objetos compuestos por otros objetos. El objeto
en el nivel superior de la jerarqua es el todo y los que estn en los niveles
inferiores son sus partes o componentes. Un componente es parte esencial de una
entidad. La relacin es fuerte al punto que si el componente es eliminado o
desaparece, la clase mayor (el todo) deja de existir.
Grficamente se representa colocando un rombo negro en el extremo de la clase
constituida (parte del todo).
Cundo se utiliza?
Cuando se desee ocultar, o encapsular un objeto bajo una nueva interfaz.
En los lenguajes de programacin, la composicin de objetos es usualmente
expresada por medio de referencias de un objeto a otro; dependiendo del
lenguaje, esas referencias pueden ser conocidas como campos, miembros,
propiedades o atributos y la composicin resultante puede ser una estructura,
tupla, tipo definido por el usuario o registro,
La composicin permite implementar relaciones del tipo tiene un.
Por ejemplo
Mapa Mental.
Atributos de tipo
parte
Clase del Todo
Mtodos
Destructor
COMPOSICIN
Relacin Fuerte
entre un todo y sus
partes.
En UML se
representa como
un rombo negro.
Ejemplos.
Ejemplo 1.
Tomando el ejemplo que vimos al principio.
Composicin.
Clase Persona.
Ejemplo 2.
En el siguiente ejemplo vemos que la clase Silla tiene como tipo parte Patas.
Silla
Patas
Como la silla
tiene 4 patas,
agregamos 4
objetos tipo
Composicin
Ahora en el Main().
Conclusin.
La composicin de clases expresa el hecho de que se pueden componer o
constituir clases nuevas a partir de objetos de otras clases. Lo mismo que en el
mundo real, en donde observamos objetos formados por otros objetos:
computadores formados por teclado, pantalla y unidad central de proceso; rectas
formadas por puntos, vehculos formados por motor, transmisin y chasis, etc.
La Composicin en la Programacin Orientada a Objetos no es ms que
considerar la posibilidad de que los atributos o datos miembros de una clase sean
objetos, es decir una clase puede tener como datos miembros a objetos de otras
clases. Adems me quedo en claro que la composicin crea atributos de tipo tiene
un que es algo fcil de comprender y puede servir como gua al momento de
saber cundo utilizar la composicin.
Dejando en claro el punto de Composicin, queda en claro que:
2. Agregacin
Qu es?
La agregacin es un tipo de asociacin que indica que una clase es parte de otra
clase (composicin dbil). Los componentes pueden ser compartidos por varios
compuestos (de la misma asociacin de agregacin o de varias asociaciones de
agregacin distintas). La destruccin del compuesto no conlleva la destruccin de
los componentes. Habitualmente se da con mayor frecuencia que la composicin.
La agregacin se representa en UML mediante un diamante de color blanco
colocado en el extremo en el que est la clase que representa el todo.
Para qu sirve?
Este es un concepto que se utiliza para expresar tipos de relaciones entre objetos
parte-de (part-of). El objeto componente, tambin a veces denominado continente
o contenedor, es un objeto agregado que se compone de mltiples objetos.
Cundo se utiliza?
Se utiliza para modelar un " todo" y sus "partes " donde:
El " todo" se forma agregando sus" partes".
Las " partes" pueden pertenecer a varios " todos".
Si se elimina el " todo" pueden seguir existiendo sus" partes.
Recordemos que la agregacin permite implementar relaciones del tipo parte de.
Por ejemplo, un carro tiene llantas, pero la existencia del carro no depende de las
llantas, y la existencia de las llantas no depende del carro.
Mapa mental.
Relacin Dbil entre
clases.
Objetos
parte
de
Agregacin
Clase del
todo.
Atributo
s
Mtodos
En UML se representa
mediante un rombo blanco al
lado de la clase del todo.
10
Ejemplos.
Ejemplo 1.
Casa
Ventana
Tomaremos este ejemplo, una Ventana es parte de una Casa, por lo tanto si yo
quito mi ventana, la Casa sigue existiendo, a esto se le conoce como agregacin.
Este es el ejemplo, ya codificado en C#.
Clase Casa.
Agregaci
n porque
no hay
destructor.
11
Clase Ventana.
Ahora en el Main()
12
13
Ejemplo 2.
Bandeja
Pastelillos.
En este ejemplo, estamos diciendo que, los pastelillos son parte de la bandeja,
pero si quito los pastelillos, la bandeja sigue existiendo, esto es agregacin.
Codificacin en C#.
Clase Pastelillos.
14
Ahora en el Main();
15
Conclusin.
Quedo en claro que la agregacin define una relacin donde una clase se puede
formar de otras clases, sin embargo la existencia de vida de los objetos de dichas
clases es independiente. He comprendido que la agregacin es una composicin
sin destructor.
16
3. DataGridView
Qu es?
El control DataGridView proporciona una forma eficaz y flexible de mostrar datos
en formato de tabla, Muestra un conjunto de datos de tipo string y Es semejante a
un arreglo bidimensional (matriz).
Ejemplo de un DataGridView en Microsoft Visual Studio Express 2013
Para qu sirve?
Puede utilizar el control DataGridView para mostrar vistas de slo lectura de una
cantidad pequea de datos o puede ajustar su tamao para mostrar vistas
modificables de conjuntos muy grandes de datos.
Cundo se utiliza?
Cuando desee Mostrar una pequea cantidad de datos, la cual no necesita
provenir de ningn tipo de base de datos, uno mismo las puedo introducir por
medio de herramientas en Windows Forms, pero no se descarta la posibilidad de
que provengan de una base de datos.
Propiedades Importantes:
17
Numero de
Columnas a
insertar.
18
Permite agregar
RENGLONES.
Permite borrar
COLUMNAS.
Ancho de columna
automatico.
19
20
21
Ejemplos.
Ejemplo 1.
Se tiene una clase registro, donde se crea una lista genrica de la clase
rectngulo, con su respectivo mtodo para agregar un nuevo objeto a la
lista, y el mtodo GetEnumerator(), para recorrer la lista.
Esta es la clase Rectngulo, con sus atributos de sus lados, y dos mtodos,
calcular rea y permetro.
22
23
Al ejecutarlo quedara as
24
Ejemplo 2.
El siguiente programa captura las calificaciones de un alumno, y valida si es
aprobado o no.
25
26
27
Mapa Mental.
Muestra un
conjunto de datos
de tipo string
DataGridView
Permite agregar
RENGLONES.
Propiedades
Importantes
Permite borrar
COLUMNAS.
Ancho de columna
automatico.
28
Conclusin.
Puede ampliar el control DataGridView de varias maneras para construir
comportamientos personalizados en las aplicaciones. Por ejemplo, puede
especificar mediante programacin sus propios algoritmos de ordenacin y crear
sus propios tipos de celdas. Puede personalizar con facilidad la apariencia del
control DataGridView eligiendo entre varias propiedades. Se pueden utilizar
muchos tipos de almacenes de datos como origen de datos o el control
DataGridView puede operar sin tener ningn origen de datos enlazado.
29
4. GetEnumerator()
Qu es?
Con GetEnumerator(),se devuelve un numerador que recorre en iteraciones una
coleccin. En dicho tipo de implementacin, la primer vez que se invoca un
mtodo GetEnumerator del objeto enumerable, se devuelve el mismo objeto
enumerable
Para qu sirve?
El mtodo GetEnumerator del objeto enumerable devuelve un objeto del
enumerador que encapsula el cdigo especificado en el bloque de iteradores.
Cmo se utiliza?
Cuando se utiliza un bloque de iteradores para implementar un miembro de
funcin que devuelve un tipo de interfaz enumerable y se invoca el miembro de
funcin, el cdigo de dicho bloque no se ejecuta inmediatamente. En su lugar se
crea y se devuelve un objeto enumerable.
Mapa Conceptual.
Un objeto enumerable
implementa los mtodos
GetEnumerator de las
interfaces IEnumerable e
IEnumerable<T>.
Utiliza
instruccin
return
devolver
elemento
la
yield
para
cada
Utiliza la instruccin
yield break para
finalizar la iteracin
(ciclo) cuando sea
necesario.
Lo Contiene
System.Collections
GetEnumerator()
30
Ejemplos
Ejemplo 1.
Este programa muestra cmo funciona el mtodo GetEnumerator del tipo de lista.
En una lista ( int) , GetEnumerator devuelve un objeto enumerador de lista ( int) .
Este objeto implementa IEnumerator ( int) . Podemos entonces escribir mtodos
que reciben IEnumerator ( int) .
Recorre la lista.
Desplaza el
enumerador al
siguiente
elemento de la
coleccin.
31
32
Ejemplo 2.
En el siguiente ejemplo de cdigo se muestra la forma de utilizar GetEnumerator
para enumerar los elementos de una matriz.
33
Conclusin.
Un
objeto
enumerable
implementa
los
mtodos
IEnumerable
e
IEnumerable<T>.Los dos mtodos GetEnumerator comparten una implementacin
comn que adquiere y devuelve un objeto de enumerador disponible.
Adquiere y devuelve un objeto de enumerador disponible, porque recorre una lista
de objetos.
34
5. Clases Sealed
Qu es?
El modificador sealed, cuando se aplica a una clase, impide que otras clases se
hereden de l.
sealed class
Para qu sirve?
Impide la derivacin de la clase donde se utilize.
Cundo se utiliza?
El modificador sealed se utiliza principalmente para impedir la derivacin no
intencionada, pero tambin permite algunas optimizaciones en tiempo de
ejecucin. En particular, como una clase sealed no puede tener clases derivadas,
es posible transformar las llamadas virtuales a miembros de funcin en instancias
de clase sealed en llamadas no virtuales.
Mapa Conceptual.
Clase Sealed
Impide la derivacion
de la clase donde se
utilize.
Las
clases
sealed
(selladas) pueden ser
instanciadas.
Se utiliza la palabra
sealed antes de class
para indicarlo.
Ejemplos.
Ejemplo 1.
Sealed Class
36
Como se menciono al principio de este tema, una clase sealed no puede ser
heredada, pero si instanciada, este es el error.
Ejemplo 2
En el siguiente ejemplo se muestra que una sealed class puede instanciarse,
veamoslo.
37
En el la clase form.cs
Instancia
de la clase
Miclase.
38
Conclusin.
El modificador sealed se utiliza para impedir la derivacion de una clase, tambien
este tipo de clases pueden ser instanciadas y no pueden ser abstractas.
39
Webgrafa.
Composicion y Agregacion
o http://www.itnuevolaredo.edu.mx/takeyas/Apuntes/POO/Apuntes/03.%20Herencia.pdf
o http://webdelprofesor.ula.ve/ingenieria/gilberto/pr2/practica7-OxOherencia-composicion.pdf
o http://www.didierperez.com/2012/02/diagrama-de-clases-umlagregacion-y-composicion/
o http://tensores.blogspot.mx/2007/08/relacin-de-agregacin-vscomposicin.html
o http://www.todoexpertos.com/categorias/ciencias-eingenieria/ingenieria-informatica/respuestas/2021345/umlagregacion-y-composicion
o http://html.rincondelvago.com/poo_11.html
o http://www.seas.es/blog/informatica/agregacion-vs-composicion-endiagramas-de-clases-uml/
GetEnumerator
o http://stackoverflow.com/questions/2486250/implementinggetenumerator-for-a-collection-inherited-from-liststring
o http://www.dotnetperls.com/getenumerator
DatagridView
o http://www.itnuevolaredo.edu.mx/takeyas/Apuntes/C_Sharp/Apuntes/
7.-ProgramacionenC_SharpPorBLT28FormasdeWindows.pdf
Clases Sealed
o https://msdn.microsoft.com/es-es/library/88c54tsw.aspx
o https://msdn.microsoft.com/en-us/library/88c54tsw(VS.71).aspx
40
Bibliografia.
41