2. PROGRAMACIÓN ORIENTADA A
OBJETOS
La programación orientada a objetos, ha tomado las mejores ideas de la
programación estructurada y los ha combinado con varios conceptos nuevos
y potentes que incitan a contemplar las tareas de programación desde un
nuevo punto de vista. La programación orientada a objetos, permite
descomponer más fácilmente un problema en subgrupos de partes
relacionadas del problema. Entonces, utilizando el lenguaje se pueden traducir
estos subgrupos a unidades auto contenidas llamadas objetos.
09/05/2016 2Edward Eliecer Silva
3. PROGRAMACIÓN ORIENTADA A
OBJETOS
Lo que caracteriza a la POO es que intenta llevar al mundo del código lo
mismo que encontramos en El Mundo Real. Cuando miramos a nuestro
alrededor ¿qué vemos? pues, cosas, objetos, pero podemos reconocer estos
objetos porque cada objeto pertenece a una clase, eso nos permite distinguir,
por ejemplo, un perro de un auto (porque son de clases diferentes) y también
un TV de otro (porque, aunque sean iguales, cada uno es un objeto distinto).
Éste es el modelo que la POO intenta seguir para estructurar un sistema.
09/05/2016 3Edward Eliecer Silva
4. PROGRAMACIÓN ORIENTADA A
OBJETOS
El término Programación Orientada a Objetos (POO), hoy en día ampliamente
utilizado, es difícil de definir, ya que no es un concepto nuevo, sino que ha sido
el desarrollo de técnicas de programación desde principios de la década de
los setenta, aunque sea en la década de los noventa cuando ha aumentado su
difusión, uso y popularidad. No obstante, se puede definir POO como una
técnica o estilo de programación que utiliza objetos como bloque esencial de
construcción.
09/05/2016 4Edward Eliecer Silva
5. PROGRAMACIÓN ORIENTADA A
OBJETOS
Un objeto es una unidad que contiene datos y las funciones que operan sobre
esos datos. A los elementos de un objeto se les conoce como miembros; las
funciones que operan sobre los objetos se denominan métodos y los datos se
denominan miembros datos.
09/05/2016 5Edward Eliecer Silva
Objeto
ObjetoObjeto
Mensaje
6. La programación orientada a objetos
introduce nuevos conceptos, que
superan y amplían conceptos antiguos ya
conocidos. Entre ellos destacan los
siguientes:
09/05/2016 Edward Eliecer Silva 6
PROGRAMACIÓN ORIENTADA A
OBJETOS
7. PROGRAMACIÓN ORIENTADA A
OBJETOS
Clase:
09/05/2016 7Edward Eliecer Silva
Podemos considerar una clase como una colección de objetos que
poseen características y operaciones comunes. Una clase contiene
toda la información necesaria para crear nuevos objetos.
Objeto: Una estructura de datos y conjunto de procedimientos que operan
sobre dicha estructura. Una definición más completa de objeto es: una
entidad de programa que consiste en datos y todos aquellos
procedimientos que pueden manipular aquellos datos; el acceso a los
datos de un objeto es solamente a través de estos procedimientos,
únicamente estos procedimientos pueden manipular, referenciar y/o
modificar estos datos.
8. PROGRAMACIÓN ORIENTADA A
OBJETOS
Método:
09/05/2016 8Edward Eliecer Silva
Evento:
Algoritmo asociado a un objeto (o a una clase de objetos), cuya
ejecución se desencadena tras la recepción de un “mensaje”. Desde el
punto de vista del comportamiento, es lo que el objeto puede hacer. Un
método puede producir un cambio en las propiedades del objeto, o la
generación de un “evento” con un nuevo mensaje para otro objeto del
sistema.
Un suceso en el sistema (tal como una interacción del usuario con la
máquina, o un mensaje enviado por un objeto). El sistema maneja el
evento enviando el mensaje adecuado al objeto pertinente. También se
puede definir como evento, a la reacción que puede desencadenar un
objeto, es decir la acción que genera.
9. PROGRAMACIÓN ORIENTADA A
OBJETOS
Propiedad o
atributo:
09/05/2016 9Edward Eliecer Silva
Encapsulación: Es una técnica que permite localizar y ocultar los detalles de un
objeto. La encapsulación previene que un objeto sea manipulado
por operaciones distintas de las definidas. La encapsulación es
como una caja negra que esconde los datos y solamente permite
acceder a ellos de forma controlada.
contenedor de un tipo de datos asociados a un objeto (o a una
clase de objetos), que hace los datos visibles desde fuera del
objeto y esto se define como sus características
predeterminadas, y cuyo valor puede ser alterado por la
ejecución de algún método.
10. PROGRAMACIÓN ORIENTADA A
OBJETOS
Abstracción:
09/05/2016 10Edward Eliecer Silva
Polimorfismo:
Cada objeto en el sistema sirve como modelo de un “agente”
abstracto que puede realizar trabajo, informar y cambiar su estado,
y “comunicarse” con otros objetos en el sistema sin revelar cómo
se implementan estas características. Los procesos, las funciones o
los métodos pueden también ser abstraídos y cuando lo están, una
variedad de técnicas son requeridas para ampliar una abstracción.
Significa que un nombre se puede utilizar para especificar una
clase genérica de acciones.
11. PROGRAMACIÓN ORIENTADA A
OBJETOS
Herencia:
09/05/2016 11Edward Eliecer Silva
las clases no están aisladas, sino que se relacionan entre sí, formando
una jerarquía de clasificación. Los objetos heredan las propiedades y el
comportamiento de todas las clases a las que pertenecen. La herencia
organiza y facilita el polimorfismo y el encapsulamiento permitiendo a
los objetos ser definidos y creados como tipos especializados de
objetos preexistentes. Estos pueden compartir (y extender) su
comportamiento sin tener que volver a implementarlo. Esto suele
hacerse habitualmente agrupando los objetos en clases y estas en
árboles o enrejados que reflejan un comportamiento común. Cuando un
objeto hereda de más de una clase se dice que hay herencia múltiple.
12. 09/05/2016 Edward Eliecer Silva 12
Fin de la presentación
Continúe en la siguiente actividad
PROGRAMACIÓN ORIENTADA A
OBJETOS