50
Orientada a Objetos I Sorey Bibiana García Zapata Ingeniera Informática Politécnico Jaime Isaza Cadavid www.politecnicojic.edu.co Especialista en Desarrollo de Software Universidad EAFIT www.eafit.edu.co Programación

Orientacion a Objetos para Dummies

Embed Size (px)

Citation preview

Page 1: 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

Page 2: Orientacion a  Objetos para Dummies

Antes de intentar aprender algo ten presente…

lo complejo, alguna vez… fue simple,

entiende lo simple.

Page 3: Orientacion a  Objetos para Dummies

El problema está en la técnica,

no en la herramienta

Page 4: Orientacion a  Objetos para Dummies

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

deshazte de vicios y empieza nuevamente!

Page 5: Orientacion a  Objetos para Dummies

Listo?

Page 6: Orientacion a  Objetos para Dummies

Que es la

orientación a objetos?

Page 7: Orientacion a  Objetos para Dummies

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

Page 8: Orientacion a  Objetos para Dummies

Típico!

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

que tanto lo comprendemos…

Page 9: Orientacion a  Objetos para Dummies

A título personal…

La orientación a objetos es “simplemente”

una forma de ver las cosas, o bien …

Page 10: Orientacion a  Objetos para Dummies

…es una forma de entender un problema identificando las entidades principales que se encuentran

en el..

Page 11: Orientacion a  Objetos para Dummies

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…

Page 12: Orientacion a  Objetos para Dummies

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

Page 13: Orientacion a  Objetos para Dummies

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

Page 14: Orientacion a  Objetos para Dummies

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

Page 15: Orientacion a  Objetos para Dummies

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

Page 16: Orientacion a  Objetos para Dummies

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

Page 17: Orientacion a  Objetos para Dummies

Veamos algunos

conceptos clave…

Qué es un Objeto?

Page 18: Orientacion a  Objetos para Dummies

Cualquier Cosa

Un Objeto es…

Page 19: Orientacion a  Objetos para Dummies

En serio!

Cualquier Cosa

Page 20: Orientacion a  Objetos para Dummies

Cualquier Cosa…de la que puedas emitir un concepto…

Page 21: Orientacion a  Objetos para Dummies

Cualquier Cosa,

todo es un objeto

Es decir…

Page 22: Orientacion a  Objetos para Dummies

…el mundo está lleno de objetos

reales, los cuales se pueden

representar como tales en una

solución computarizada.

Page 23: Orientacion a  Objetos para Dummies

Este es un objeto

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

con 4 llantas y 2 puertas

Veamos…

Page 24: Orientacion a  Objetos para Dummies

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

Page 25: Orientacion a  Objetos para Dummies

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

Page 26: Orientacion a  Objetos para Dummies

A ese concepto conocido que representa una

agrupación de objetos

…lo llamamos Clase

Page 27: Orientacion a  Objetos para Dummies

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

Page 28: Orientacion a  Objetos para Dummies

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 29: Orientacion a  Objetos para Dummies

La clase es una…

…los objetos son todos los que podamos crear

mentalmente a partir de dicha clase o concepto

Page 30: Orientacion a  Objetos para Dummies

Hagamos un ejercicio, el típico…

…el concepto que elegiremos es la clase

persona

Page 31: Orientacion a  Objetos para Dummies

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 32: Orientacion a  Objetos para Dummies

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

Page 33: Orientacion a  Objetos para Dummies

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

Page 34: Orientacion a  Objetos para Dummies

Ya vamos entendiendo…

Una clase esta compuesta por

características (atributos o propiedades)

y por comportamientos (acciones o métodos)

Page 35: Orientacion a  Objetos para Dummies

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.

Page 36: Orientacion a  Objetos para Dummies

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.

Page 37: Orientacion a  Objetos para Dummies

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

Page 38: Orientacion a  Objetos para Dummies

Los objetos tienen diferentes tipos de

relaciones

Asociación

Agregación/Composición

Page 39: Orientacion a  Objetos para Dummies

Ahora veamos conceptos avanzados

Page 40: Orientacion a  Objetos para Dummies

… la modularidad y la reusabilidad

Qué son?

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

Page 41: Orientacion a  Objetos para Dummies

En términos simples la modularidadsignifica trabajar por partes…

Page 42: Orientacion a  Objetos para Dummies

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

Page 43: Orientacion a  Objetos para Dummies

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

alta cohesión y el bajo acoplamiento

… que tan claros los tenemos?….

Page 44: Orientacion a  Objetos para Dummies

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

Page 45: Orientacion a  Objetos para Dummies

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

componente con respecto a otros

Page 46: Orientacion a  Objetos para Dummies

Características de la

Orientación a Objetos

Page 47: Orientacion a  Objetos para Dummies

Abstracción

Page 48: Orientacion a  Objetos para Dummies

Encapsulamiento

Page 49: Orientacion a  Objetos para Dummies

Herencia

Page 50: Orientacion a  Objetos para Dummies

Polimorfismo