PROGRAMACIÓN ORIENTADA OBJETOS
OP OObjective-C
PUERTAHasta ahora la programación era de flujo: PROGRAMACIÓN ESTRUCTURADA
Ahora programamos tal y como expresaríamos las cosas en la vida real.
La POO nos permite pensar en la programación de manera similar a como lo hacemos en la vida diaria.
PUERTAAllá donde estéis ¿tenéis una puerta cerca?
Que funciones hace: abrir y cerrar (MÉTODOS)
Que tipo de puerta es: blindada, marrón, acristalada,... (PROPIEDADES o ATRIBUTOS)
PParadigma de la programación
Cuando hablamos de PARADIGMA:
Es la manera de pensar SUBJETIVA del programador.
El mismo programa puede tener tantas versiones como programadores lo hagan, diferente según el programador.
PSi encargamos una puerta a dos carpinteros distintos, cada uno nos dará un presupuesto y una solución diferente.
PTodo es según el cristal con que se mire.
¿Significa que puedo hacer lo que quiera con el código?
PObviamente NO, aunque la curva de aprendizaje inicialmente es complicada, conviene prestar atención a las formas y usos para lograr un código fluido y situarlo dentro de la convención.
• 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.
• Herencia: Una clase puede heredar los campos y métodos de otra clase.
• Polimorfismo: Varios objetos de la misma clase pueden actuar de diferente manera.
DICCIONARIO de TÉRMINOS
}CaracterísticasDestacadas de
POO
Objective-C• Lenguaje de programación basado en C
• Trabaja orientado a objetos.
• Estructurado en clases, objetos, variables de
instancias, métodos, etc.
• 3º en el ranking TIOBE
• Controlado por Apple y NextStep
• Antiguo: +30 años
Objetos:
Comportamiento:MÉTODO
yEstado:
ATRIBUTOS
El Programador
• Cómo es ATRIBUTOS
• Que hará MÉTODOS
Tiene que dar vida a los objetos:
Diferencia P.E. vs P.O.O.
• Se escriben funciones que procesan datos
Programación Estructurada
Diferencia P.E. vs P.O.O.
• Se crean objetos para luego enviarles mensajes solicitándoles que realicen sus métodos por sí mismos.
Programación Orientada a Objetos
OBJETOInstancia de una clase
CLASEPropiedad y comportamiento
de un objeto concretoATRIBUTO
Propiedad del objeto
MÉTODOLo que un objeto
puede hacer (algoritmo)
MENSAJEComunicación dirigida a un
objeto ordenándole que ejecute uno de sus métodos
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 de la CLASE despertador tiene?
- Tiene esta INSTANCIA de la CLASE despertador con estos ATRIBUTOS: eléctrico, 2 tipos de sonido, hora … esta otra INSTANCIA con los ATRIBUTOS: pilas, 5 tipos de alarma, hora … o esta otra INSTANCIA con los ATRIBUTOS: solar, radio y da la hora.
- Me quedo con esta INSTANCIA de OBJETO de la CLASE despertador
EJEMPLOSi quiero madrugar, lo que debo de hacer es preparar el despertador 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.}
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; } }
Top Related