Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

POO Programación Orientada a Objetos

8,220 views

Published on

Programación Orientada a Objetos

Published in: Education

POO Programación Orientada a Objetos

  1. 1. PROGRAMACIÓN ORIENTADA Objective-C OBJETOSPO O
  2. 2. PUERTAHasta ahora la programaciónera de flujo: PROGRAMACIÓNESTRUCTURADAAhora programamos tal y comoexpresaríamos las cosas en lavida real.La POO nos permite pensar enla programación de manerasimilar a como lo hacemos enla vida diaria.
  3. 3. PUERTAAllá donde estéis ¿tenéisuna puerta cerca?Que funciones hace: abrir ycerrar (MÉTODOS)Que tipo de puerta es:blindada, marrón,acristalada,...(PROPIEDADES oATRIBUTOS)
  4. 4. PParadigma de la programaciónCuando hablamos de PARADIGMA:Es la manera de pensar SUBJETIVA del programador.El mismo programa puede tener tantas versionescomo programadores lo hagan, diferente según elprogramador.
  5. 5. PSi encargamos unapuerta a doscarpinteros distintos,cada uno nos dará unpresupuesto y unasolución diferente.
  6. 6. PTodo es según el cristalcon que se mire.¿Significa que puedohacer lo que quiera conel código?
  7. 7. PObviamente NO, aunque lacurva de aprendizajeinicialmente es complicada,conviene prestar atención alas formas y usos para lograrun código fluido y situarlodentro de la convención.
  8. 8. DICCIONARIO de TÉRMINOS• Clase: Propiedad y comportamiento de un tipo de objeto concreto.• Objeto: Entidad provista de un conjunto de atributos (datos) y de comportamiento o funcionalidad (métodos). Es una instancia a una clase.• Instancia: Lectura de los datos y funciones de una clase y la creación de un objeto a partir de éstos.• Atributo: Datos y propiedades del objeto.• Método: Algoritmo asociado a un objeto. Define aquello que el objeto puede hacer.• Evento: Acción que provoca una interacción del usuario con la máquina.• Mensaje: La comunicación dirigida a un objeto ordenándole que ejecute uno de sus métodos. }• Abstracción: Razonamiento para crear las clases capaces de dar la solución al planteamiento. Características• Herencia: Una clase puede heredar los campos y métodos de otra clase. Destacadas de POO• Polimorfismo: Varios objetos de la misma clase pueden actuar de diferente manera.
  9. 9. Objective-C• Lenguaje de programación basado en C• Trabaja orientado a objetos.• Estructurado en clases, objetos, variables deinstancias, métodos, etc.• 3º en el ranking TIOBE• Controlado por Apple y NextStep• Antiguo: +30 años
  10. 10. Objetos:Comportamiento: MÉTODO y Estado: ATRIBUTOS
  11. 11. El Programador Tiene que dar vida a los objetos: • Cómo es ATRIBUTOS • Que hará MÉTODOS
  12. 12. Diferencia P.E. vs P.O.O.Programación Estructurada • Se escriben funciones que procesan datos
  13. 13. Diferencia P.E. vs P.O.O. Programación Orientada a Objetos • Se crean objetos para luego enviarles mensajes solicitándoles que realicen sus métodos por sí mismos.
  14. 14. CLASE Propiedad y comportamiento de un objeto concreto ATRIBUTO Propiedad del objeto MÉTODOLo que un objeto OBJETO Instancia de una clase puede hacer (algoritmo) MENSAJE Comunicación dirigida a un objeto ordenándole que ejecute uno de sus métodos
  15. 15. EJEMPLO¿Que necesito para madrugar?Compro lo que voy a necesitar: un despertador.En la tienda: - Quiero una CLASE de despertador ¿que INSTANCIAS de OBJETO dela CLASE despertador tiene?- Tiene esta INSTANCIA de la CLASE despertador con estosATRIBUTOS: eléctrico, 2 tipos de sonido, hora … esta otra INSTANCIAcon los ATRIBUTOS: pilas, 5 tipos de alarma, hora … o esta otraINSTANCIA con los ATRIBUTOS: solar, radio y da la hora.- Me quedo con esta INSTANCIA de OBJETO de la CLASE despertador
  16. 16. EJEMPLOSi quiero madrugar, lo que debo de hacer es preparar eldespertador para levantarme a una hora en concreto(FUNCIÓN o MÉTODO) programar el despertador:CLASE INSTANCIADEOBJETO (ATRIBUTOS) {! FUNCIÓN o MÉTODO}Despertador modeloElegido (solar, radio, hora) {! ! SONAR A LAS 7 A.M.}
  17. 17. EJEMPLOInstanciación en Objective-C : (ejemplo orientativo) Despertador * modeloElegido = [ [ Despertador alloc ] init ] ; [ modeloElegido sonar ] ; if ( [ modeloElegido.hora = 7.00 a.m. ] ) { sonar = YES; } else { sonar = NO; } }

×