Está en la página 1de 50

Orientada a Objetos I

Sorey Bibiana Garca Zapata


Ingeniera Informtica
Politcnico Jaime Isaza Cadavid
www.politecnicojic.edu.co
Especialista en Desarrollo de Software
Universidad EAFIT
www.eafit.edu.co
Programacin
Antes de intentar aprender algo
ten presente
lo complejo, alguna vez fue simple,
entiende lo simple.
El problema est en la tcnica,
no en la herramienta
Si no eres nuevo en esto de programar, pero an no
entiendes la orientacin a objetos
deshazte de vicios y empieza nuevamente!
Listo?
Que es la
orientacin a objetos?
La orientacin a
objetos es un
paradigma de
programacin
Tpico!
Si bien esta definicin es correcta, el problema est, en
que tanto lo comprendemos
A ttulo personal
La orientacin a objetos es simplemente
una forma de ver las cosas, o bien
es una forma de entender un problema
identificando las entidades principales que se encuentran
en el..
La programacin orientada a objetos (POO) es por tanto
una forma de desarrollar un sistema,
pensando en las entidades principales del
problema que dicho sistema pretende resolver
El lenguaje de programacin es
la herramienta
para resolver el problema
El propsito de la POO no tiene que ver con
el lenguaje de programacin
El propsito de la programacin orientada a objetos
consiste en
proporcionar 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 que producen algn efecto
sobre ellos
Con respecto a los lenguajes de programacin
podemos decir que
cada uno usa la herramienta en que ms hbil se considere,
el problema finalmente no cambia
De acuerdo a la situacin con una u otra herramienta se nos hace
ms o menos difcil
y de acuerdo al escenario se debe elegir
una u otra herramienta de trabajo
Veamos algunos
conceptos clave
Qu es un Objeto?
Cualquier Cosa
Un Objetoes
En serio!
Cualquier Cosa
Cualquier Cosa
de la que puedas
emitir un concepto
Cualquier Cosa,
todo es un objeto
Es decir
el mundo est lleno de objetos
reales, los cuales se pueden
representar como tales en una
solucin computarizada.
Este es un objeto
es un automvil de plstico, rojo
con 4 llantas y 2 puertas
Veamos
Si realizramos el proceso mental lentamente,
nos daramos cuenta de que al ver el objeto
emitimos un concepto preconcebido
es decir automvil
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 ello usamos la palabra
globo
A ese concepto conocidoque representa una
agrupacin de objetos
lo llamamos Clase
Una clase es como un molde de 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
mentalmente a partir de dicha clase o concepto
Hagamos un ejercicio, el tpico
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: Sandra
Edad: 22
Color de Piel: Morena
Profesin: Deportista
Estado Civil: Soltera
Comportamientos
Hablar
Caminar
Mirar
Nacer
Morir
Otro objeto de la clase persona sera
Caractersticas
Nombre: Carlos
Edad: 28
Color de Piel: Blanco
Profesin: Abogado
Estado Civil: Casado
Comportamientos
Hablar
Caminar
Mirar
Nacer
Morir
Ya vamos entendiendo
Una clase esta compuesta por
caractersticas (atributos o propiedades)
y por comportamientos (acciones o mtodos)
Las caractersticas y comportamientos de una clase
son determinadas por el contexto del problema o escenario
Esto en programacin quiere decir, que dentro de un sistema, solo
implementamos los atributos y mtodos relacionados con el
mbito del problema que estamos solucionando.
Veamos algunos conceptos adicionales
A los valores que tienen los atributos de un
objeto se les conoce como el estadodel
objeto, y a los atributos y mtodos que ofrece se
les conoce como la interfaz al cdigo usado
para construir las clases se le conoce como la
implementacin de la clase.
Interfaz 1. f. Inform. Conexin fsica y funcional entre dos aparatos o sistemas
independientes.
Los objetos se comunicanse 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.
Wikipedia
Los objetos tienen diferentes tipos de
relaciones
Asociacin
Agregacin/Composicin
Ahora veamos conceptos
avanzados
la modularidad y la reusabilidad
Qu son?
Los principios que dirigen la orientacin a objetos son
En trminos simples la modularidad
significa trabajar por partes
Y la reusabilidad significa
No se invente la rueda!
Lo que ya esta hecho es para usarse y algunas
de las cosas que no estn hechas, deben
construirse pensando en que alguien
necesitar usarlo alguna vez
Con respecto a la comunicacin
tenemos ms principios
alta cohesin y el bajo acoplamiento
que tan claros los tenemos?.
Cuando decimos que un componente
tiene una alta cohesin hablamos de
que todos los elementos dentro de el
estn estrechamente relacionados
el criterio de relacin debe ser de negocio o tcnico y no subjetivo
Cuando decimos que un componente
tiene una bajo acoplamiento hablamos
del nivel de independencia que tiene un
componente con respecto a otros
Caractersticas de la
Orientacin a Objetos
Abstraccin
Encapsulamiento
Herencia
Polimorfismo