You are on page 1of 25

Introduccin a la Orientacin a Objetos

Objetivo
Describir el Paradigma de Orientacin a Objetos incluyendo los conceptos relacionados al anlisis, diseo y programacin

Temas a Tratar

Paradigmas de Programacin Clases y Objetos Modificadores de Acceso Qu es UML? Principios de la Orientacin a Objetos Conceptos del Diseo Orientado a Objetos

Paradigmas de Programacin
Hay para todos los gustos
o Estructurados (C, Pascal, Basic, etc.) o Funcionales (CAML) o Declarativos (Prolog) o Orientados a Objetos (C#, VB.NET, Smalltalk, Java)

o Orientados a Aspectos
o Hbridos (Lisp, Visual Basic) o Incomprensibles....

Cada enfoque tiene sus ventajas y desventajas Cada uno es ms apropiado para ciertas cosas

El mundo color de Objetos

Todo el mundo est compuesto de


entidades que se relacionan e interactan entre si

Qu es un Objeto?
oTodo es un Objeto ~?!

Es lo mismo de siempre con otro


nombre?
oPensar en Objetos .

El mundo color de Objetos

Por qu Orientacin a Objetos (OO)?


oSe parece ms al mundo real oPermite representar modelos complejos oMuy apropiada para aplicaciones de negocios

oLas empresas ahora s aceptan la OO


oLas nuevas plataformas de desarrollo la han adoptado (Java / .NET)

Temas a Tratar

Paradigmas de Programacin Clases y Objetos Modificadores de Acceso Qu es UML? Principios de la Orientacin a Objetos Conceptos del Diseo Orientado a Objetos

Qu es un Objeto?

Informalmente, un objeto representa una Entidades Fsicas


entidad del mundo real
(Ej.: Vehculo, Casa, Producto)

Entidades Conceptuales Entidades de Software

o(Ej.: Proceso Qumico, Transaccin Bancaria) o(Ej.: Lista Enlazada, Interfaz Grfica)

Qu es un Objeto?

Definicin Formal (Rumbaugh):

Un objeto posee (Booch):


oEstado oComportamiento

oUn objeto es un concepto, abstraccin o cosa con un significado y lmites claros en el problema en cuestin

oIdentidad

Un objeto posee Estado

Lo que el objeto sabe El estado de un objeto es una de las

El estado normalmente cambia en el


transcurso del tiempo

posibles condiciones en que el objeto puede existir

El estado de un objeto es implementado


por un conjunto de propiedades (atributos), adems de las conexiones que puede

Un objeto posee Comportamiento

Lo que el objeto puede hacer El comportamiento de un objeto determina Es modelado por un conjunto de mensajes
cmo ste acta y reacciona frente a las peticiones de otros objetos a los que el objeto puede responder (operaciones que puede realizar)

Se implementa mediante mtodos

Un objeto posee Identidad

Cada objeto tiene una identidad nica,


incluso si su estado es idntico al de otro objeto

Qu es una Clase?

Una clase es una descripcin de un grupo


de objetos con:
oPropiedades en comn (atributos) oComportamiento similar (operaciones) oLa misma forma de relacionarse con otros objetos (relaciones)

Una clase es una abstraccin que:

oUna semntica en comn (significan lo mismo)

oEnfatiza las caractersticas relevantes


oSuprime otras caractersticas (simplificacin)

Objetos y Clases Una clase es una definicin abstracta de un


objeto
o Define la estructura y el comportamiento compartidos por los objetos

Los objetos pueden ser agrupados en clases

o Sirve como modelo para la creacin de objetos

Ejemplo de una Clase

Clase: Curso Estado (Atributos)


oNombre oUbicacin oDas Ofrecidos oHorario de Inicio oHorario de Trmino

Comportamiento (Mtodos)
oAgregar un Alumno oBorrar un Alumno

Temas a Tratar

Paradigmas de Programacin Clases y Objetos Modificadores de Acceso Qu es UML? Pilares de la Orientacin a Objetos Conceptos del Diseo Orientado a Objetos

Modificadores de Acceso

Permiten definir el nivel de acceso


(visibilidad) de los miembros (atributos o mtodos) de una clase
oPublico: Cualquier clase puede ver los miembros pblicos de otra clase oPrivado: Slo la clase puede ver sus propios miembros privados

Existen otros dos modificadores para


propsitos especficos (Paquete, Protegido)

Temas a Tratar

Paradigmas de Programacin Clases y Objetos Modificadores de Acceso Qu es UML? Pilares de la Orientacin a Objetos Conceptos del Diseo Orientado a Objetos

Qu es UML?
UML es un lenguaje visual para especificar, construir y

documentar sistemas (OMG - Object Management Group) Unified (UNIFICADO):


o El aporte de muchos mtodos y notaciones o Independiente de implementaciones, plataformas y lenguajes
o Los modelos son utilizados en todas las ingenieras o Si hay gente, requieren comunicarse. Si se tienen que comunicar, se tienen que entender. Para entenderse necesitan un lenguaje comn

Modeling (MODELADO): Language (LENGUAJE):

UML no es Metodologa!

Una clase est compuesta de tres secciones


o La primera seccin contiene el nombre de la clase o La segunda seccin muestra la estructura (atributos) o La tercera seccin muestra el comportamiento (operaciones)

Una Clase en UML

La segunda y la tercera seccin pueden ser


Modificadores de Acceso
o Los miembros pblicos se denotan con el signo + o Los miembros privados se denotan con el signo

suprimidas

Temas a Tratar

Paradigmas de Programacin Clases y Objetos Modificadores de Acceso Qu es UML? Pilares de la Orientacin a Objetos Conceptos del Diseo Orientado a Objetos

Pilares de la Orientacin a Objetos


Abstraccin

Relaciones

Herencia

Encapsulamiento

Abstraccin

Ignorancia Selectiva
oLa abstraccin nos ayuda a trabajar con cosas complejas
oSe enfoca en lo importante

Una clase es una abstraccin en la que:


Se enfatizan las caractersticas relevantes

oIgnora lo que no es importante (simplifica)

Una clase debe capturar una y solo una


abstraccin clave

Se suprimen otras caractersticas

Encapsulamiento Principio que establece que los atributos propios


de un objeto no deben ser visibles desde otros objetos

Permite abstraer al resto del mundo de la

o Deben ser declarados como privados

complejidad de la implementacin interna Permite exponer el estado del objeto slo a travs del comportamiento que le hayamos definido mediante miembros pblicos Por qu es til?
o Punto de Control/Validacin o Mejor respuesta ante los Cambios

Relaciones
Todo sistema abarca muchas clases y objetos Los objetos contribuyen en el comportamiento
de un sistema colaborando entre si

Existen dos tipos principales de relaciones


oAsociacin

oLa colaboracin se logra a travs de las relaciones

oAgregacin

You might also like