introducción a la programación orientada objetos

51
Introducción a la Programación Orientada a Objetos Renny Batista

Upload: instituto-universitario-de-tecnologia-antonio-jose-de-sucre

Post on 12-Jun-2015

1.519 views

Category:

Education


0 download

DESCRIPTION

Introducción con los conceptos básicos sobre el paradigma de la programación orientada a objetos de una manera simple.

TRANSCRIPT

Page 1: Introducción a la programación orientada objetos

Introducción a la Programación

Orientada a Objetos Renny Batista

Page 2: Introducción a la programación orientada objetos

John Johnson

"Primero resuelve el problema. Entonces, escribe el código”

Page 3: Introducción a la programación orientada objetos

Algo de historia: La metodología Orientada a Objetos fue formulada por

Grady Booch en 1990.

Otros aportes a esta metodología: Coad y Yourdon en 1991

Rumbaugh 1991 (OMT: Objet Modeling Technique)

Jacobson y Rumbaugh (UML: Lenguaje de Modelado Unificado)

Page 4: Introducción a la programación orientada objetos

¿Qué es la Orientación a Objetos?

Page 5: Introducción a la programación orientada objetos

La orientación a objetos es un

paradigma de la

programación

Page 6: Introducción a la programación orientada objetos

mmm… este..?

El problema está en que tanto lo

podemos comprender…

Page 7: Introducción a la programación orientada objetos

La orientación a objetos

es una forma de ver

las cosas…

Page 8: Introducción a la programación orientada objetos

Una forma de entender un problema identificando las principales entidades

que se encuentran en él

Page 9: Introducción a la programación orientada objetos

La programación orientada a

objetos es una forma de desarrollar un sistema

pensando en las entidades

principales del problema que dicho sistema pretende

resolver.

Page 10: Introducción a la programación orientada objetos

El lenguaje de programación es solo una

herramienta para resolver el problema…

Page 11: Introducción a la programación orientada objetos

El propósito de la programación orientada a

objetos es…

facilitar una solución informática identificando los

conceptos relevantes presentes en el problema

Page 12: Introducción a la programación orientada objetos

Identificar los conceptos relevantes o las entidades

involucradas en un problema significa…

reconocer las características de estos y las

acciones que realizan o bien producen algún

efecto sobre ellos.

Page 13: Introducción a la programación orientada objetos

¿Qué es un

objeto?

Veamos algunos

conceptos básicos

Page 14: Introducción a la programación orientada objetos

un objeto es…

¡Cualquier cosa!

Page 15: Introducción a la programación orientada objetos

¿Es en serio?

Page 16: Introducción a la programación orientada objetos

Cualquier cosa…

Page 17: Introducción a la programación orientada objetos

Cualquier cosa…

Page 18: Introducción a la programación orientada objetos

Cualquier cosa de la que puedas emitir un

concepto

Page 19: Introducción a la programación orientada objetos

Es decir…

todo es un objeto

Page 20: Introducción a la programación orientada objetos

¿Conoces este objeto? ¿Cuáles son sus características?

Por ejemplo…

Page 21: Introducción a la programación orientada objetos

Puedes notar que con sólo ver

la imagen automáticamente

reconoces que es un teléfono.

Éste es un objeto

preconcebido por ti.

Page 22: Introducción a la programación orientada objetos

agrupa una cierta cantidad de características y

comportamientos similares que nos permiten

emitir un concepto en común acerca de ellos

Un objeto como un teléfono

Page 23: Introducción a la programación orientada objetos

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 Creyón o

Lápiz de Color

Page 24: Introducción a la programación orientada objetos

A ese concepto conocido que representa una

agrupación de objetos lo denominamos

Page 25: Introducción a la programación orientada objetos

Una Clase es como un molde para galletas. Este

determina la forma y características que la galleta

(el objeto) va a tener sin ser el objeto real

Page 26: Introducción a la programación orientada objetos

El molde (la Clase) no determina por ejemplo,

que sabor tiene cada una de las galletas…

…tampoco por cuanta cantidad de ingredientes estará compuesta

Page 27: Introducción a la programación orientada objetos

La Clase es una…

los objetos son todos los que podamos crear a partir de dicha clase

Page 28: Introducción a la programación orientada objetos

Realicemos un ejercicio…

el concepto que elegiremos es la clase Persona

Page 29: Introducción a la programación orientada objetos

Este grupo de personas tiene un conjunto de

características y comportamientos en común

Características

• Nombre

• Edad

• Color de Piel

• Profesión

• Estado Civil

Comportamientos

• Hablar

• Caminar

• Mirar

• Nacer

• Morir

Page 30: Introducción a la programación orientada objetos

Un objeto de la clase Persona sería…

Comportamientos

• Hablar

• Caminar

• Mirar

• Nacer

• Morir

Características

• Nombre: Helena

• Edad: 23

• Color de Piel: Morena

• Profesión: Estudiante

• Estado Civil: Soltera

Page 31: Introducción a la programación orientada objetos

Otro objeto de la clase Persona sería…

Características

• Nombre: Robert

• Edad: 47

• Color de Piel: Blanco

• Profesión: Actor

• Estado Civil: Casado

Comportamientos

• Hablar

• Caminar

• Mirar

• Nacer

• Morir

Page 32: Introducción a la programación orientada objetos

¿Se entiende mejor?

Una clase está compuesta

por características (Atributos o Propiedades) y

por comportamientos (Acciones y Métodos)

Page 33: Introducción a la programación orientada objetos

Las características y

comportamiento de una clase

están determinadas por el contexto

del problema o escenario.

En programación se interpreta, que dentro de un sistema, sólo

implementamos los atributos y

métodos relacionados con el

ámbito del problema que estamos solucionando.

Page 34: Introducción a la programación orientada objetos

A los valores que tienen los atributos de un

objeto se les conoce como el estado del objeto, a los atributos y métodos que ofrece se

les conoce como la interfaz, al código usado para construir las clases se le denomina como la

implementación de la clase

Según el diccionario de la RAE define Interfaz: 1. f. Inform. Conexión física y funcional entre dos aparatos o sistemas independientes.

Color: Azul

Color: Verde Color: Naranja

Page 35: Introducción a la programación orientada objetos

Los objetos se comunican con

otros a través de mensajes

Un mensaje es una comunicación

dirigida a un objeto, que le ordena que ejecute uno de sus

métodos con ciertos parámetros

asociados al evento que lo generó

Page 36: Introducción a la programación orientada objetos

Los objetos tienen diferentes tipos de

relaciones

Page 37: Introducción a la programación orientada objetos

Asociación

Se podría definir como el momento en que dos objetos

se unen para trabajar juntos y así, alcanzar una meta. Para

validar la asociación utilizamos la frase “usa un…”

Page 38: Introducción a la programación orientada objetos

Agregación/Composición

Es un tipo de relación dependiente en dónde un objeto

más complejo es conformado por objetos más simples.

En esta situación utilizamos la frase “Tiene un”

Page 39: Introducción a la programación orientada objetos

Herencia

Facilita la creación de objetos a partir de otros ya existentes e

implica que una subclase

(hijo) obtiene todo el

comportamiento (métodos) y eventualmente los atributos

(características) de su

superclase (padre)

Page 40: Introducción a la programación orientada objetos

Los principios que dirigen orientación a objetos

…la modularidad y la

reusabilidad

Page 41: Introducción a la programación orientada objetos

La modularidad significa trabajar por partes,

dividiendo un problema complejo en varios

problemas más simples

Page 42: Introducción a la programación orientada objetos

La reusabilidad significa…

¡No se invente la rueda!

Lo que ya está hecho es para usarse y alguna de las cosas que no están hechas, deben construirse pensando en que

alguien necesitara usarlo alguna vez

Page 43: Introducción a la programación orientada objetos

Con relación a la comunicación tenemos los siguientes principios…

Alta cohesión y el

bajo acoplamiento

¿Sabes de que se trata?

Page 44: Introducción a la programación orientada objetos

Cuando decimos que un

componente tiene una alta cohesión hablamos de que

todos los elementos dentro

de él están estrechamente relacionados

Page 45: Introducción a la programación orientada objetos

Cuando decimos que un

componente tiene bajo acoplamiento hablamos del

nivel de independencia

que tiene un componente con

respecto a los otros

Page 46: Introducción a la programación orientada objetos

Características de la Orientación a Objetos

Page 47: Introducción a la programación orientada objetos

Abstracción Consiste en captar las

características 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.

Page 48: Introducción a la programación orientada objetos

Encapsulamiento

Es reunir todas las características y

comportamientos que pueden considerarse

pertenecientes a una misma entidad (Clase), al

mismo nivel de abstracción. Esto permite aumentar la cohesión de los componentes de un

sistema.

Page 49: Introducción a la programación orientada objetos

Herencia

Es la propiedad que permite que

los objetos sean creados a partir de otros ya existentes,

obteniendo (heredando) las

características y comportamientos similares a los ya existentes.

Page 50: Introducción a la programación orientada objetos

Polimorfismo Se refiere a capacidad que tiene un objeto de

responder de múltiples formas a un mensaje en

función de la información que recibe

polimorfismo s. m. Propiedad que tienen algunos cuerpos de poder cambiar de forma sin cambiar de naturaleza o composición.

Page 51: Introducción a la programación orientada objetos

Referencias García, S. (2008). Orientación A Objetos Para Dummies. [Presentación en línea] Disponible: http://www.slideshare.net/soreygarcia/orientacion-a-objetos-para-dummies-presentation. Wikipedia. Programación Orientada a Objetos. Disponible: http://es.wikipedia.org/wiki/Programación_orientada_a_objetos

Nota: El contenido publicado en esta presentación es utilizado sólo con

fines educativos sin ánimos de lucro y es una adaptación del trabajo

realizado por la Ing. Sorey García. Gracias por hacer público este aporte.