introducción a la programación orientada objetos

Post on 12-Jun-2015

1.519 Views

Category:

Education

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

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

TRANSCRIPT

Introducción a la Programación

Orientada a Objetos Renny Batista

John Johnson

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

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)

¿Qué es la Orientación a Objetos?

La orientación a objetos es un

paradigma de la

programación

mmm… este..?

El problema está en que tanto lo

podemos comprender…

La orientación 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 programación 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 programación es solo una

herramienta para resolver el problema…

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

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.

¿Qué es un

objeto?

Veamos algunos

conceptos básicos

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

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

Por ejemplo…

Puedes notar que con sólo ver

la imagen automáticamente

reconoces que es un teléfono.

Éste es un objeto

preconcebido por ti.

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

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

A ese concepto conocido que representa una

agrupación de objetos lo denominamos

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

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

características y comportamientos en común

Características

• Nombre

• Edad

• Color de Piel

• Profesión

• Estado Civil

Comportamientos

• Hablar

• Caminar

• Mirar

• Nacer

• Morir

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

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

¿Se entiende mejor?

Una clase está compuesta

por características (Atributos o Propiedades) y

por comportamientos (Acciones y Métodos)

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.

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

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ó

Los objetos tienen diferentes tipos de

relaciones

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…”

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”

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)

Los principios que dirigen orientación a objetos

…la modularidad y la

reusabilidad

La modularidad significa trabajar por partes,

dividiendo un problema complejo en varios

problemas más simples

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

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

Alta cohesión y el

bajo acoplamiento

¿Sabes de que se trata?

Cuando decimos que un

componente tiene una alta cohesión hablamos de que

todos los elementos dentro

de él están estrechamente relacionados

Cuando decimos que un

componente tiene bajo acoplamiento hablamos del

nivel de independencia

que tiene un componente con

respecto a los otros

Características de la Orientación a 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.

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.

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.

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.

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.

top related