Orientacion a Objetos para Dummies

Post on 12-Apr-2017

45 views 6 download

Transcript of Orientacion a Objetos para Dummies

Orientada a Objetos ISorey Bibiana García Zapata

Ingeniera InformáticaPolitécnico Jaime Isaza Cadavidwww.politecnicojic.edu.co

Especialista en Desarrollo de SoftwareUniversidad EAFITwww.eafit.edu.co

Programación

Antes de intentar aprender algo ten presente…

lo complejo, alguna vez… fue simple,

entiende lo simple.

El problema está en la técnica,

no en la herramienta

Si no eres nuevo en esto de programar, pero aún no entiendes la orientación a objetos…

deshazte de vicios y empieza nuevamente!

Listo?

Que es la

orientación a objetos?

La orientación a objetos es un paradigma de programación

Típico!

Si bien esta definición es correcta, el problema está, en

que tanto lo comprendemos…

A título personal…

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

la herramienta

para resolver el problema

El propósito de la POO no tiene que ver con

el lenguaje de programación

El propósito de la programación orientada a objetosconsiste en…

proporcionar 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 que producen algún efecto

sobre ellos

Con respecto a los lenguajes de programación podemos decir que…

cada uno usa la herramienta en que más hábil se considere,

el problema finalmente no cambia

De acuerdo a la situación con una u otra herramienta se nos hace

más o menos difícil

… 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 Objeto es…

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

solución computarizada.

Este es un objeto

…es un automóvil de plástico, rojo

con 4 llantas y 2 puertas

Veamos…

Si realizáramos el proceso mental lentamente, nos daríamos cuenta de que al ver el objeto

emitimos un concepto preconcebido

es decir automóvil

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 conocido que representa una

agrupación de objetos

…lo llamamos Clase

Una clase es como un molde de 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

mentalmente a partir de dicha clase o concepto

Hagamos un ejercicio, el típico…

…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

Características Nombre: Sandra Edad: 22 Color de Piel: Morena Profesión: Deportista Estado Civil: Soltera

Comportamientos Hablar Caminar Mirar Nacer Morir

Otro objeto de la clase persona sería

Características Nombre: Carlos Edad: 28 Color de Piel: Blanco Profesión: Abogado Estado Civil: Casado

Comportamientos Hablar Caminar Mirar Nacer Morir

Ya vamos entendiendo…

Una clase esta compuesta por

características (atributos o propiedades)

y por comportamientos (acciones o métodos)

Las características y comportamientos de una clase

son determinadas por el contexto del problema o escenario

Esto en programación quiere decir, que dentro de un sistema, solo

implementamos los atributos y métodos 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 estado del

objeto, y a los atributos y métodos que ofrece se

les conoce como la interfaz al código usado

para construir las clases se le conoce como la

implementación de la clase.

Interfaz 1. f. Inform. Conexión física y funcional entre dos aparatos o sistemas

independientes.

Los objetos se comunican 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ó.

Wikipedia

Los objetos tienen diferentes tipos de

relaciones

Asociación

Agregación/Composición

Ahora veamos conceptos avanzados

… la modularidad y la reusabilidad

Qué son?

Los principios que dirigen la orientación a objetos son…

En términos simples la modularidadsignifica 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 están hechas, deben

construirse pensando en que alguien necesitará usarlo alguna vez

Con respecto a la comunicación tenemos más principios

alta cohesión y el bajo acoplamiento

… que tan claros los tenemos?….

Cuando decimos que un componentetiene una alta cohesión hablamos de

que todos los elementos dentro de el

están estrechamente relacionados… el criterio de relación debe ser de negocio o técnico y no subjetivo

Cuando decimos que un componentetiene una bajo acoplamiento hablamos del nivel de independencia que tiene un

componente con respecto a otros

Características de la

Orientación a Objetos

Abstracción

Encapsulamiento

Herencia

Polimorfismo