Anda di halaman 1dari 32

PROGRAMACIN ORIENTADA A OBJETOS

PARADIGMA DE PROGRAMACIN

Es el patrn o modelo de programacin que conduce el proceso de programacin.


Cada lenguaje de programacin de alto nivel tiene un paradigma que gua la
resolucin de problemas dentro de un framework para expresar soluciones.
Cada paradigma de programacin es una coleccin de patrones conceptuales que
controlan el proceso de pensamiento humano para formular una solucin a un
problema.
Los diferentes paradigmas de programacin conducen a diferentes tcnicas de
programacin.
Una vez que una solucin es visualizada o asimilada va un paradigma de
programacin en particular, un lenguaje de programacin es necesario para expresar
aquel proceso de pensamiento. Como tal, el lenguaje de un paradigma en particular
debe reflejar adecuadamente los patrones conceptuales del paradigma de
programacin.

Ing. Jos Luis Peralta Lujn


FUNDAMENTOS DE LA PROGRAMACIN ORIENTADA A
OBJETOS

Abstraccin Procedimental y el Paradigma Procedimental

Desde los primeros das de programacin, el software se ha organizado en torno a la


nocin de procedimientos (tambin en algunos contextos llamados funciones o rutinas).

Estos proporcionan abstraccin procedimental. Cuando se utiliza un determinado


procedimiento, un programador no tiene que preocuparse de todos los detalles de
cmo este realiza sus clculos; l o ella slo tienen que conocer cmo llamarlo y lo que
calcula. La vista del programador del sistema se hace as ms simple.

Ing. Jos Luis Peralta Lujn


FUNDAMENTOS DE LA PROGRAMACIN ORIENTADA A
OBJETOS

Sobrecarga de Mtodos

Es posible tener mtodos con el mismo nombre en la misma clase, siempre y cuando
tengan distintos conjuntos de parmetros (que se determinan con base en el nmero,
tipos y orden de los parmetros).

Por lo general, la sobrecarga de mtodos se utiliza para crear varios mtodos con el
mismo nombre que realicen la misma tarea o tareas similares, pero con distintos tipos o
nmeros de argumentos.

Ing. Jos Luis Peralta Lujn


FUNDAMENTOS DE LA PROGRAMACIN ORIENTADA A
OBJETOS

Ing. Jos Luis Peralta Lujn


FUNDAMENTOS DE LA PROGRAMACIN ORIENTADA A
OBJETOS

Modelado

El modelado es el proceso de crear una representacin del dominio o el software.


Diversos enfoques de modelado se pueden utilizar durante el anlisis de
requerimientos y el diseo.

El modelo puede realizarse visualmente, utilizando diagramas, o bien usando lenguajes


semi-formales o formales que expresan la informacin sistemticamente o
matemticamente.

En este curso utilizaremos un lenguaje visual llamado UML.

Ing. Jos Luis Peralta Lujn


FUNDAMENTOS DE LA PROGRAMACIN ORIENTADA A
OBJETOS

UML

De la misma manera que los planos de un arquitecto presentan detalles del diseo
para un edificio, UML permite modelos de software que se construirn, vern y
manipularn durante el anlisis y diseo.

UML define una notacin diagramtica para describir los artefactos de un Anlisis y
Diseo Orientado a Objetos (OOAD).

A travs de UML podemos visualizar, especificar, construir y documentar nuestra


aplicacin de software.

A medida que nuestros sistemas de software son cada vez ms grandes y cada vez
ms complejos nosotros necesitamos gestionar esa complejidad y, en cierto sentido
simplificarlo, as tenemos una mejor comprensin de ello. A menudo, la visualizacin
del software grficamente es ms apropiada que luchar por entenderlo en el cdigo del
programa.
Ing. Jos Luis

Peralta Lujn
FUNDAMENTOS DE LA PROGRAMACIN ORIENTADA A
OBJETOS

UML

Mediante la inspeccin de nuestros modelos podemos identificar deficiencias en


nuestros diseos, as como oportunidades para mejorarlos. UML acta como un
lenguaje de especificacin en el que nosotros podemos capturar con precisin y sin
ambigedades nuestras decisiones de diseo.

Por ltimo, a partir de nuestros diagramas UML podemos derivar cdigo en algn
lenguaje de programacin. Esto es referenciado como ingeniera directa - la generacin
de cdigo a partir de modelos UML (Este es un enfoque que defendemos a travs de
este curso)
.
Los modelos son el ncleo de nuestros diseos. El cdigo es el resultado de la
actividad de modelado y es en s mismo un documento de diseo.

Los modelos dictan el cdigo que producimos en ultima instancia.

Ing. Jos Luis Peralta Lujn


FUNDAMENTOS DE LA PROGRAMACIN ORIENTADA A
OBJETOS

Ing. Jos Luis Peralta Lujn


FUNDAMENTOS DE LA PROGRAMACIN ORIENTADA A
OBJETOS

Diagrama de Clases

Representa las clases que sern utilizadas dentro del sistema y las relaciones que
existen entre ellas.

Las relaciones existentes entre las distintas clases nos indican como se comunican
entre s los objetos de esas clases.

Los mensajes navegan por las relaciones existentes.

Ing. Jos Luis Peralta Lujn


FUNDAMENTOS DE LA PROGRAMACIN ORIENTADA A
OBJETOS

Notacin UML para las clases

Ing. Jos Luis Peralta Lujn


FUNDAMENTOS DE LA PROGRAMACIN ORIENTADA A
OBJETOS

Relaciones

Ing. Jos Luis Peralta Lujn


Ing. Jos Luis Peralta Lujn
Ing. Jos Luis Peralta Lujn
FUNDAMENTOS DE LA PROGRAMACIN ORIENTADA A
OBJETOS

Relaciones

Para crear la funcionalidad de un sistema OO se puede dejar que los objetos estn
solos en un glorioso aislamiento?

Las conexiones entre objetos se denominan enlaces (permiten el envo de mensajes), y


cuando los objetos trabajan juntos decimos que colaboran.

Las relaciones son conexiones semnticas (significativas) entre elementos del


modelado (son la forma de como UML conecta las cosas)

Ing. Jos Luis Peralta Lujn


FUNDAMENTOS DE LA PROGRAMACIN ORIENTADA A
OBJETOS

Relaciones

Ing. Jos Luis Peralta Lujn


FUNDAMENTOS DE LA PROGRAMACIN ORIENTADA A
OBJETOS

Asociacin

Las asociaciones son relaciones entre clases. Permiten la creacin de enlaces entre
objetos (conexin), instancias de las clases asociadas. Permitiendo el envo de
mensajes de un objeto a otro.

Ing. Jos Luis Peralta Lujn


FUNDAMENTOS DE LA PROGRAMACIN ORIENTADA A
OBJETOS

Asociacin (Sintaxis)

Puede tener:
Un nombre de asociacin (de la accin que se realiza)
Nombres de roles
Multiplicidad
Navegabilidad

Ing. Jos Luis Peralta Lujn


FUNDAMENTOS DE LA PROGRAMACIN ORIENTADA A
OBJETOS

Asociacin (Sintaxis)

Ing. Jos Luis Peralta Lujn


FUNDAMENTOS DE LA PROGRAMACIN ORIENTADA A
OBJETOS

Asociacin (Sintaxis)

Ing. Jos Luis Peralta Lujn


FUNDAMENTOS DE LA PROGRAMACIN ORIENTADA A
OBJETOS

Asociacin (Sintaxis)

Ing. Jos Luis Peralta Lujn


FUNDAMENTOS DE LA PROGRAMACIN ORIENTADA A
OBJETOS

Asociacin Reflexiva

Es comn que una clase tenga una asociacin as misma. Esto se llama una
asociacin reflexiva y eso significa que los objetos de esa clase tienen enlaces a otros
objetos de la misma clase.

Ing. Jos Luis Peralta Lujn


FUNDAMENTOS DE LA PROGRAMACIN ORIENTADA A
OBJETOS

Asociacin Reflexiva

Ing. Jos Luis Peralta Lujn


FUNDAMENTOS DE LA PROGRAMACIN ORIENTADA A
OBJETOS

Clase Asociacin

Cuando se tiene un relacin de muchos-a-muchos Dnde colocar algunos atributos?


(Propiedad de la propia asociacin)

Reglas del negocio

Ing. Jos Luis Peralta Lujn


FUNDAMENTOS DE LA PROGRAMACIN ORIENTADA A
OBJETOS

Agregacin

Una asociacin que denota una relacin parte-todo entre dos clases.

El todo y la parte pueden existir independientemente

El simbolo ahorra el tener que escribir un nombre de la asociacin como isPartOf o a la


inversa hasParts. Muchas agregaciones son de uno-a-muchos, pero esto no es un
requisito
No es solo una asociacin? (Denotan aspectos jerrquicos de la relacin)

Ing. Jos Luis Peralta Lujn


FUNDAMENTOS DE LA PROGRAMACIN ORIENTADA A
OBJETOS

El motor puede ser sacado de uno vehculo y colocado en otro

Una regin puede separarse de un pas y llegar a independizarse.

Ing. Jos Luis Peralta Lujn


FUNDAMENTOS DE LA PROGRAMACIN ORIENTADA A
OBJETOS

Composicin

Una composicin es un tipo fuerte de agregacin en el que si el todo es destruido,


entonces las partes son tambin destruidas

La existencia de las partes depende de el todo.

Ing. Jos Luis Peralta Lujn


Ing. Jos Luis Peralta Lujn
FUNDAMENTOS DE LA PROGRAMACIN ORIENTADA A
OBJETOS

Herencia

La herencia es la relacin entre una clase general y una o ms clases especializadas


clases.

Nos permite describir todos los atributos y operaciones que son comunes a un conjunto
de clases.

Generalizacin (sper clase, clase base)

Especializacin (sub clase, clase derivada)

Las subclases heredan los atributos y operaciones de la clase padre (atributos y


operaciones que el padre permita).

Ing. Jos Luis Peralta Lujn


FUNDAMENTOS DE LA PROGRAMACIN ORIENTADA A
OBJETOS

Ing. Jos Luis Peralta Lujn


FUNDAMENTOS DE LA PROGRAMACIN ORIENTADA A
OBJETOS

Sobre escritura

Ing. Jos Luis Peralta Lujn


FUNDAMENTOS DE LA PROGRAMACIN ORIENTADA A
OBJETOS

Sobre escritura

Ing. Jos Luis Peralta Lujn

Anda mungkin juga menyukai