Professional Documents
Culture Documents
Estructuras en C
Lenguaje de Modelado.
Proporciona una notacin grfica
aceptada mundialmente
10
11
Clase
Plantilla que permite crear objetos Describe un grupo de
objetos con atributos (propiedades), operaciones
(comportamiento) y relaciones en comn.
Objeto
Abstraccin con un significado y lmites claros del problema
en cuestin. Tiene un estado (lo que sabe, atributos) y
comportamiento (lo que puede hacer, mtodos).
12
Objeto
Todos los objetos presentan una identidad, que los hace
distinguibles, un estado y un comportamiento.
El trmino identidad significa que los objetos se
distinguen por su existencia inherente y no por
propiedades descriptivas que puedan tener.
Son instancias de una clase, cada objeto conoce su clase.
13
Herencia
Relacin entre clases en la cual una clase comparte la
estructura y comportamiento definidos en otra clase.
Polimorfismo
Se refiere a la capacidad para que varias clases derivadas de
una antecesora utilicen un mismo mtodo de forma
diferente, cada clase sabe cmo realizar tal operacin.
14
Tipos de Polimorfismo
El polimorfismo de sobrecarga ocurre cuando las funciones del
mismo nombre existen, con funcionalidad similar, en clases que
son completamente independientes una de otra (stas no tienen
que ser clases secundarias de la clase objeto). Por ejemplo, la
clase complex, la clase image y la clase link pueden todas tener la
funcin "display".
El polimorfismo paramtrico es la capacidad para definir varias
funciones utilizando el mismo nombre, pero usando parmetros
diferentes
(nombre
y/o
tipo).
El
polimorfismo paramtrico selecciona automticamente el
mtodo correcto a aplicar en funcin del tipo de datos pasados
en el parmetro.
15
int addition(int,int)
float addition(float, float)
char addition(char, char)
16
Clase Persona
17
Clase Persona
public class Persona
{
private string nombre;
Encapsulamiento
18
}
}
Sobrecarga
La posibilidad de tener dos o ms mtodos con el mismo
nombre pero funcionalidad diferente. Es necesario que
dichos mtodos tengan diferentes argumentos, tambin
pueden variar el tipo de retorno.
Abstraccin
Son las caractersticas y comportamientos de un objeto, sin
revelar cmo se implementan. Significa quitar las
propiedades y acciones de un objeto para dejar slo
aquellas que sean necesarias.
19
Encapsulamiento
Agrupa cierta funcionalidad de un mtodo (un mtodo slo
debe tener una funcin). Permite reunir a todos los
elementos que pueden considerarse pertenecientes a una
misma entidad, al mismo nivel de abstraccin.
La funcionalidad del objeto se oculta.
20
}
}// fin de la clase
21
Modificadores de acceso
Pblico: se puede acceder al miembro de la clase desde
cualquier lugar.
Protegido: slo se puede acceder al miembro de la clase
desde la propia clase o desde una clase que herede de
ella.
Privada: slo se puede acceder al miembro de la clase
desde la propia clase.
Los modificadores de acceso permiten aumentar la
cohesin de los componentes del sistema.
22
Alta Cohesin
Nos dice que la informacin que almacena una clase
debe de ser coherente y debe estar (en la medida de lo
posible) relacionada con la clase.
Cuando las clases ejecuta una y slo una tarea, teniendo
un nico objetivo a cumplir, se dice que tiene
Cohesividad Funcional.
23
Bajo acoplamiento
Se refiere a tener las clases lo menos ligadas entre s. De tal
forma que en caso de producirse una modificacin en
alguna de ellas, se tenga la mnima repercusin posible en
el resto de clases, potenciando la reutilizacin, y
disminuyendo la dependencia entre las clases.
Acoplamiento de Contenido: Cuando un mdulo referencia directamente el
contenido de otro mdulo. (En lenguajes de alto nivel es muy raro).
Acoplamiento Comn: Cuando dos mdulos acceden (y afectan) a un mismo
valor global.
Acoplamiento de Control: Cuando un mdulo le enva a otro un elemento de
control que determina la lgica de ejecucin del mismo.
24
Clase Abstracta
Nos permiten crear mtodo generales, que recrean un
comportamiento comn, pero sin especificar cmo lo
hacen. Una clase abstracta puede incluir mtodos
implementados y no implementados o abstractos,
miembros dato constantes y otros no constantes. Puede
heredarse.
25
Clase Abstracta
26
Interfaz
Las interfaces, tal como las clases abstractas. No se pueden
instanciar. Sus mtodos deben ser re-escritos por la clase
que implemente, es como un contrato es decir es una lista
de mtodos no implementados, adems puede incluir la
declaracin de constantes. Debe implementarse.
27
Interfaz
Implementacin de la
Interfaz
28
30
31
32
33
34
35
36
37
38
39
Niveles de visibilidad
(-) Privado : es el ms fuerte. Esta parte es totalmente invisible.
(#) Protegido: Los atributos y operaciones protegidos estn visibles para las
clases derivadas de la original.
(+) Pblico: Los atributos/operaciones pblicos son visibles a otras clases.
40
Niveles de visibilidad
(-) Privado : es el ms fuerte. Esta parte es totalmente invisible.
(#) Protegido: Los atributos y operaciones protegidos estn visibles para las
clases derivadas de la original.
(+) Pblico: Los atributos/operaciones pblicos son visibles a otras clases.
41
42
43
44
45
mensaje simple
llamada anidada con valor de retorno
mensaje condicional
mensaje iterativo
46
47
Requerimientos
Permitir crear y editar diagramas de clase y colaboracin.
Las descripcin de las clases debe poder llegar a un nivel
en el cual puedan ser implementadas fcilmente en un
lenguaje de programacin OO.
Presentar una interfaz amigable al usuario
personalizando el Look And Feel
48
Requerimientos
49
Requerimientos
El sistema debe presentar un buen diseo para que
futuros desarrolladores puedan incrementar nuevas
funcionalidades fcilmente.
Se deben poder imprimir los diagramas generados.
50
51