Está en la página 1de 7

MODELO DE CLASES

Elementos
Clase
Es la unidad bsica que encapsula toda la informacin de un Objeto (un objeto es una
instancia de una clase). A travs de ella podemos modelar el entorno en estudio (una Casa,
un Auto, una Cuenta Corriente, etc.).
En !", una clase es representada por un rectn#ulo que posee tres divisiones$
En donde$
o Superior$ Contiene el nombre de la Clase
o Intermedio$ Contiene los atributos (o variables de instancia) que caracteri%an a la
Clase (pueden ser private, protected o public).
o Inferior$ Contiene los mtodos u operaciones, los cuales son la forma como
interact&a el objeto con su entorno (dependiendo de la visibilidad$ private,
protected o public).
Ejemplo$
na Cuenta Corriente que posee como caracter'stica$
o (alance
)uede reali%ar las operaciones de$
o *epositar
o +irar
o , (alance
El dise-o asociado es$
Atributos , !todos$
o Atributos:
"os atributos o caracter'sticas de una Clase pueden ser de tres tipos, los que definen
el #rado de comunicacin , visibilidad de ellos con el entorno, estos son$
public (., )$ /ndica que el atributo ser visible tanto dentro como
fuera de la clase, es decir, es accsesible desde todos lados.
private (0, )$ /ndica que el atributo slo ser accesible desde dentro de
la clase (slo sus mtodos lo pueden accesar).
protected (1, )$ /ndica que el atributo no ser accesible desde fuera de
la clase, pero si podr ser accesado por mtodos de la clase adems de las
subclases que se deriven (ver 2erencia).
o Mtodos:
"os mtodos u operaciones de una clase son la forma en como sta interact&a con
su entorno, stos pueden tener las caracter'sticas$
public (., )$ /ndica que el mtodo ser visible tanto dentro como fuera
de la clase, es decir, es accsesible desde todos lados.
private (0, )$ /ndica que el mtodo slo ser accesible desde dentro de
la clase (slo otros mtodos de la clase lo pueden accesar).
protected (1, )$ /ndica que el mtodo no ser accesible desde fuera de
la clase, pero si podr ser accesado por mtodos de la clase adems de
mtodos de las subclases que se deriven (ver 2erencia).
Relaciones entre Clases:
A2ora ,a definido el concepto de Clase, es necesario e3plicar como se pueden
interrelacionar dos o ms clases (cada uno con caracter'sticas , objetivos diferentes).
Antes es necesario e3plicar el concepto de cardinalidad de relaciones$ En !", la
cardinalidad de las relaciones indica el #rado , nivel de dependencia, se anotan en cada
e3tremo de la relacin , stas pueden ser$
o uno o muchos$ 4..5 (4..n)
o o muchos$ 6..5 (6..n)
o n!mero fi"o$ m (m denota el n&mero).
i. #erencia $Especiali%aci&n'(enerali%aci&n)$
/ndica que una subclase 2ereda los mtodos , atributos especificados por una 7uper
Clase, por ende la 7ubclase adems de poseer sus propios mtodos , atributos,
poseer las caracter'sticas , atributos visibles de la 7uper Clase (public ,
protected), ejemplo$
En la fi#ura se especifica que Auto , Camin 2eredan de 8e2'culo, es decir, Auto
posee las Caracter'sticas de 8e2'culo ()recio, 8el!a3, etc) adems posee al#o
particular que es *escapotable, en cambio Camin tambin 2ereda las
caracter'sticas de 8e2iculo ()recio, 8el!a3, etc) pero posee como particularidad
propia Acoplado, 9ara , Car#a.
Cabe destacar que fuera de este entorno, lo &nico :visible: es el mtodo
Caracteristicas aplicable a instancias de 8e2'culo, Auto , Camin, pues tiene
definicin publica, en cambio atributos como *escapotable no son visibles por ser
privados.
ii. A*re*aci&n$
)ara modelar objetos complejos, n bastan los tipos de datos bsicos que proveen los
len#uajes$ enteros, reales , secuencias de caracteres. Cuando se requiere componer
objetos que son instancias de clases definidas por el desarrollador de la aplicacin,
tenemos dos posibilidades$
+or ,alor$ Es un tipo de relacin esttica, en donde el tiempo de vida del
objeto incluido esta condicionado por el tiempo de vida del que lo inclu,e.
Este tipo de relacin es comunmente llamada Composici&n (el Objeto base
se contru,e a partir del objeto incluido, es decir, es :parte;todo:).
+or Referencia$ Es un tipo de relacin dinmica, en donde el tiempo de
vida del objeto incluido es independiente del que lo inclu,e. Este tipo de
relacin es comunmente llamada A*re*aci&n (el objeto base utili%a al
incluido para su funcionamiento).
n Ejemplo es el si#uiente$
En donde se destaca que$
n Almacen posee Clientes , Cuentas (los rombos van en el objeto que
posee las referencias).
Cuando se destru,e el Objeto Almacen tambin son destruidos los objetos
Cuenta asociados, en cambio no son afectados los objetos Cliente
asociados.
"a composicin (por 8alor) se destaca por un rombo relleno.
"a a#re#acin (por <eferencia) se destaca por un rombo transparente.
"a flec2a en este tipo de relacin indica la nave#abilidad del objeto refereniado.
Cuando no e3iste este tipo de particularidad la flec2a se elimina.
iii. Asociaci&n$
"a relacin entre clases conocida como Asociacin, permite asociar objetos que
colaboran entre si. Cabe destacar que no es una relacin fuerte, es decir, el tiempo
de vida de un objeto no depende del otro.
Ejemplo$
n cliente puede tener asociadas muc2as Ordenes de Compra, en cambio una orden
de compra solo puede tener asociado un cliente.
iv. Dependencia o Instanciaci&n $uso)$
<epresenta un tipo de relacin mu, particular, en la que una clase es instanciada (su
instanciacin es dependiente de otro objeto;clase). 7e denota por una flec2a
punteada.
El uso ms particular de este tipo de relacin es para denotar la dependencia que
tiene una clase de otra, como por ejemplo una aplicacin #rafica que instancia una
ventana (la creacin del Objeto 8entana est condicionado a la instanciacin
proveniente desde el objeto Aplicacion)$
Cabe destacar que el objeto creado (en este caso la 8entana #rfica) no se almacena
dentro del objeto que lo crea (en este caso la Aplicacin).
Casos +articulares$
o Clase Abstracta$
na clase abstracta se denota con el nombre de la clase , de los mtodos con letra
:itlica:. Esto indica que la clase definida no puede ser instanciada pues posee
mtodos abstractos (a&n no 2an sido definidos, es decir, sin implementacin). "a
&nica forma de utili%arla es definiendo subclases, que implementan los mtodos
abstractos definidos.
o Clase parametri%ada$
na clase parametri%ada se denota con un subcuadro en el e3tremo superior de la
clase, en donde se especifican los parmetros que deben ser pasados a la clase para
que esta pueda ser instanciada. El ejemplo ms t'pico es el caso de un *iccionario
en donde una llave o palabra tiene asociado un si#nificado, pero en este caso las
llaves , elementos pueden ser #enricos. "a #enericidad puede venir dada de un
9emplate (como en el caso de C..) o bien de al#una estructura predefinida
(especiali%acin a travs de clases).
En el ejemplo no se especificaron los atributos del *iccionario, pues ellos
dependern e3clusivamente de la implementacin que se le quiera dar.
E"emplo$
7upon#amos que tenemos tenemos un el caso del *iccionario implementado mediante un rbol
binario, en donde cada nodo posee$
=e,$ 8ariable por la cual se reali%a la b&squeda, puede ser #enerica.
item$ Contenido a almacenar en el diccionario asociado a :=e,:, cu,o tipo tambin puede
ser #enrico.
)ara este caso particular 2emos definido un *iccionario para almacenar 7trin# , )ersonas, las
cuales pueden funcionar como llaves o como item, solo se mostrarn las relaciones para la
implementacin del *iccionario$

También podría gustarte