POO Programación Orientada a Objetos

5,937 views
5,338 views

Published on

Programación Orientada a Objetos

Published in: Education
0 Comments
8 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
5,937
On SlideShare
0
From Embeds
0
Number of Embeds
1,199
Actions
Shares
0
Downloads
258
Comments
0
Likes
8
Embeds 0
No embeds

No notes for slide

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; } }

×