You are on page 1of 51

Introduccin a la Programacin

Orientada a Objetos
Renny Batista
"Primero resuelve el
problema. Entonces,
escribe el cdigo
John Johnson
Algo de historia:
La metodologa Orientada a Objetos fue formulada por
Grady Booch en 1990.
Otros aportes a esta metodologa:
Coad y Yourdon en 1991
Rumbaugh 1991 (OMT: Objet Modeling Technique)
Jacobson y Rumbaugh (UML: Lenguaje de Modelado
Unificado)
Qu es la Orientacin
a Objetos?
La orientacin a
objetos es un
paradigma de la
programacin
mmm este..?

El problema est en que tanto lo


podemos comprender
La orientacin a objetos
es una forma de ver
las cosas
Una forma de entender un problema
identificando las principales entidades
que se encuentran en l
La programacin orientada a
objetos es una forma de
desarrollar un sistema
pensando en las entidades
principales del problema que
dicho sistema pretende
resolver.
El lenguaje de programacin es solo una
herramienta para resolver el problema
El propsito de la programacin orientada a
objetos es

facilitar una solucin


informtica identificando los
conceptos relevantes
presentes en el problema
Identificar los conceptos relevantes o las entidades
involucradas en un problema significa

reconocer las caractersticas de estos y las


acciones que realizan o bien producen algn
efecto sobre ellos.
Veamos algunos
conceptos bsicos

Qu es un
objeto?
un objeto es

Cualquier cosa!
Es en serio?
Cualquier cosa
Cualquier cosa
Cualquier cosa de la que puedas emitir un
concepto
Es decir
todo es un objeto
Por ejemplo

Conoces este objeto?


Cules son sus caractersticas?
Puedes notar que con slo ver
la imagen automticamente
reconoces que es un telfono.

ste es un objeto
preconcebido por ti.
Un objeto como un telfono

agrupa una cierta cantidad de caractersticas y


comportamientos similares que nos permiten
emitir un concepto en comn acerca de ellos
En la imagen cada uno de los elementos que vemos es
considerado un objeto

Sin embargo de todos ellos


podemos emitir un concepto
conocido y para ellos
utilizamos la palabra Creyn o
Lpiz de Color
A ese concepto conocido
que representa una
agrupacin de objetos lo
denominamos
Una Clase es como un molde para galletas. Este
determina la forma y caractersticas que la galleta
(el objeto) va a tener sin ser el objeto real
El molde (la Clase) no determina por ejemplo,
que sabor tiene cada una de las galletas

tampoco por cuanta cantidad de


ingredientes estar compuesta
La Clase es una

los objetos son todos los que podamos


crear a partir de dicha clase
Realicemos un ejercicio

el concepto que elegiremos es la clase Persona


Este grupo de personas tiene un conjunto de
caractersticas y comportamientos en comn
Caractersticas
Nombre
Edad
Color de Piel
Profesin
Estado Civil

Comportamientos
Hablar
Caminar
Mirar
Nacer
Morir
Un objeto de la clase Persona sera

Caractersticas
Nombre: Helena
Edad: 23
Color de Piel: Morena
Profesin: Estudiante
Estado Civil: Soltera

Comportamientos
Hablar
Caminar
Mirar
Nacer
Morir
Otro objeto de la clase Persona sera

Caractersticas
Nombre: Robert
Edad: 47
Color de Piel: Blanco
Profesin: Actor
Estado Civil: Casado

Comportamientos
Hablar
Caminar
Mirar
Nacer
Morir
Se entiende mejor?

Una clase est compuesta


por caractersticas
(Atributos o Propiedades) y
por comportamientos
(Acciones y Mtodos)
Las caractersticas y
comportamiento de una clase
estn determinadas por el contexto
del problema o escenario.

En programacin se interpreta, que


dentro de un sistema, slo
implementamos los atributos y
mtodos relacionados con el
mbito del problema que estamos
solucionando.
Color: Azul

Color: Naranja Color: Verde

A los valores que tienen los atributos de un


objeto se les conoce como el estado del
objeto, a los atributos y mtodos que ofrece se
les conoce como la interfaz, al cdigo usado
para construir las clases se le denomina como la
implementacin de la clase
Segn el diccionario de la RAE define Interfaz:
1. f. Inform. Conexin fsica y funcional entre dos aparatos o sistemas independientes.
Los objetos se comunican con
otros a travs de mensajes

Un mensaje es una
comunicacin
dirigida a un objeto,
que le ordena que
ejecute uno de sus
mtodos con ciertos
parmetros
asociados al evento
que lo gener
Los objetos tienen diferentes tipos de
relaciones
Asociacin

Se podra definir como el momento en que dos objetos


se unen para trabajar juntos y as, alcanzar una meta. Para
validar la asociacin utilizamos la frase usa un
Agregacin/Composicin

Es un tipo de relacin dependiente en dnde un objeto


ms complejo es conformado por objetos ms simples.
En esta situacin utilizamos la frase Tiene un
Herencia

Facilita la creacin de objetos a


partir de otros ya existentes e
implica que una subclase
(hijo) obtiene todo el
comportamiento (mtodos)
y eventualmente los atributos
(caractersticas) de su
superclase (padre)
Los principios que dirigen orientacin a objetos

la modularidad y la
reusabilidad
La modularidad significa trabajar por partes,
dividiendo un problema complejo en varios
problemas ms simples
La reusabilidad significa

No se invente la rueda!

Lo que ya est hecho es para usarse y alguna de las cosas


que no estn hechas, deben construirse pensando en que
alguien necesitara usarlo alguna vez
Con relacin a la comunicacin
tenemos los siguientes principios

Alta cohesin y el
bajo acoplamiento

Sabes de que se trata?


Cuando decimos que un
componente tiene una alta
cohesin hablamos de que
todos los elementos dentro
de l estn estrechamente
relacionados
Cuando decimos que un
componente tiene bajo
acoplamiento hablamos del
nivel de independencia
que tiene un componente con
respecto a los otros
Caractersticas de la
Orientacin a
Objetos
Abstraccin Consiste en captar las
caractersticas esenciales de un
objeto, as como su
comportamiento; ignorando los
aspectos que no son relevantes,
con el objetivo de concentrarse en
aquellos que si lo son.
Encapsulamiento
Es reunir todas las caractersticas y
comportamientos que pueden considerarse
pertenecientes a una misma entidad (Clase), al
mismo nivel de abstraccin. Esto permite
aumentar la cohesin de los componentes de un
sistema.
Herencia
Es la propiedad que permite que
los objetos sean creados a
partir de otros ya existentes,
obteniendo (heredando) las
caractersticas y comportamientos
similares a los ya existentes.
Polimorfismo
Se refiere a capacidad que tiene un objeto de
responder de mltiples formas a un mensaje en
funcin de la informacin que recibe

polimorfismo s. m. Propiedad que tienen algunos cuerpos de poder cambiar de forma


sin cambiar de naturaleza o composicin.
Referencias
Garca, S. (2008). Orientacin A Objetos Para Dummies. [Presentacin en lnea]
Disponible: http://www.slideshare.net/soreygarcia/orientacion-a-objetos-
para-dummies-presentation.

Wikipedia. Programacin Orientada a Objetos.


Disponible: http://es.wikipedia.org/wiki/Programacin_orientada_a_objetos

Nota: El contenido publicado en esta presentacin es utilizado slo con


fines educativos sin nimos de lucro y es una adaptacin del trabajo
realizado por la Ing. Sorey Garca. Gracias por hacer pblico este aporte.

You might also like