Programación
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
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 objetos
consiste 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?
Un   Objeto es…




                  Cualquier Cosa
En serio!

Cualquier Cosa
Cualquier Cosa
…de la que puedas
emitir un concepto…
Es decir…




            Cualquier Cosa        ,

                  todo es un objeto
…el mundo está lleno de objetos
  reales, los cuales se pueden
 representar como tales en una
    solución computarizada.
Veamos…
Este es un objeto




                    …es un   automóvil de plástico, rojo
                                  con 4   llantas y 2 puertas
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             Comportamientos
                       Nombre: Carlos             Hablar
                       Edad: 28                   Caminar
                       Color de Piel: Blanco      Mirar
                       Profesión: Abogado         Nacer
                       Estado Civil: Casado       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
Los principios que dirigen la orientación a objetos son…




                … la modularidad y la reusabilidad
                                         Qué son?
En términos simples la modularidad
     significa 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 componente
 tiene 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 componente
tiene 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

Orientacion A Objetos Para Dummies

  • 1.
    Programación Orientada a ObjetosI 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
  • 2.
    Antes de intentaraprender algo ten presente… lo complejo, alguna vez… fue simple , entiende lo simple.
  • 3.
    El problema estáen la técnica, no en la herramienta
  • 4.
    Si no eresnuevo en esto de programar, pero aún no entiendes la orientación a objetos… deshazte de vicios y empieza nuevamente!
  • 5.
  • 6.
    Que es la orientación a objetos?
  • 7.
    La orientación a objetos es un paradigma de programación
  • 8.
    Típico! Si bien estadefinición es correcta, el problema está, en que tanto lo comprendemos…
  • 9.
    A título personal… Laorientación a objetos es “simplemente” una forma de ver las cosas, o bien …
  • 10.
    …es una formade entender un problema identificando las entidades principales que se encuentran en el..
  • 11.
    La programación orientadaa objetos (POO) es por tanto una forma de desarrollar un sistema, pensando en las entidades principales del problema que dicho sistema pretende resolver…
  • 12.
    El lenguaje deprogramación es la herramienta para resolver el problema El propósito de la POO no tiene que ver con el lenguaje de programación
  • 13.
    El propósito dela programación orientada a objetos consiste en… proporcionar una solución informática identificando los conceptos relevantes presentes en el problema
  • 14.
    Identificar los conceptosrelevantes 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
  • 15.
    Con respecto alos 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
  • 16.
    De acuerdo ala 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
  • 17.
  • 18.
    Un Objeto es… Cualquier Cosa
  • 19.
  • 20.
    Cualquier Cosa …de laque puedas emitir un concepto…
  • 21.
    Es decir… Cualquier Cosa , todo es un objeto
  • 22.
    …el mundo estálleno de objetos reales, los cuales se pueden representar como tales en una solución computarizada.
  • 23.
    Veamos… Este es unobjeto …es un automóvil de plástico, rojo con 4 llantas y 2 puertas
  • 24.
    Si realizáramos elproceso mental lentamente, nos daríamos cuenta de que al ver el objeto emitimos un concepto preconcebido es decir automóvil
  • 25.
    En la imagencada 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
  • 26.
    A ese conceptoconocido que representa una agrupación de objetos …lo llamamos Clase
  • 27.
    Una clase escomo un molde de galletas… … este determina la forma y características que la galleta (el objeto) va a tener, sin ser el objeto real
  • 28.
    El molde (laclase) no determina por ejemplo, que sabor tiene cada una de las galletas… …tampoco por cuanta cantidad de ingredientes estará compuesta.
  • 29.
    La clase esuna… …los objetos son todos los que podamos crear mentalmente a partir de dicha clase o concepto
  • 30.
    Hagamos un ejercicio,el típico… …el concepto que elegiremos es la clase persona
  • 31.
    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
  • 32.
    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
  • 33.
    Otro objeto de la clase persona sería Características Comportamientos  Nombre: Carlos  Hablar  Edad: 28  Caminar  Color de Piel: Blanco  Mirar  Profesión: Abogado  Nacer  Estado Civil: Casado  Morir
  • 34.
    Ya vamos entendiendo… Una clase esta compuesta por características (atributos o propiedades) y por comportamientos (acciones o métodos)
  • 35.
    Las características ycomportamientos 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.
  • 36.
    Veamos algunos conceptosadicionales… 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.
  • 37.
    Los objetos secomunican 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
  • 38.
    Los objetos tienendiferentes tipos de relaciones Asociación Agregación/Composición
  • 39.
  • 40.
    Los principios quedirigen la orientación a objetos son… … la modularidad y la reusabilidad Qué son?
  • 41.
    En términos simplesla modularidad significa trabajar por partes…
  • 42.
    Y la reusabilidadsignifica 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
  • 43.
    Con respecto ala comunicación tenemos más principios alta cohesión y el bajo acoplamiento … que tan claros los tenemos?….
  • 44.
    Cuando decimos queun componente tiene 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
  • 45.
    Cuando decimos queun componente tiene una bajo acoplamiento hablamos del nivel de independencia que tiene un componente con respecto a otros
  • 46.
  • 47.
  • 48.
  • 49.
  • 50.