Señor

Páginas: 16 (3753 palabras) Publicado: 26 de mayo de 2014
Objective-C para “lerdos” (que sepan Java o C#)
Primeros pasos:
Lo primero que debes saber es quién creó Objective-C, para saber quién es o son los culpables de tu
sufrimiento, y estos fueron Brad Cox y Tom Love a principio de los 80. Básicamente tomaron C y le
añadieron la programación orientada a objetos de una forma farragosa y fea.
Por ello lo primero que deberías saber es comoprogramar en C, si además sabes C++, Java o C# te será más
sencillo porque esto no es una guía para enseñar los fundamentos de la programación orientada a objetos,
por lo que eso también deberías conocerlo antes de leerte esta guía básica.
Es recomendable también que mires por si quieres profundizar la documentación oficial de Apple sobre el
lenguaje y la gestión de la memoria, ya que por algunarazón esotérica resulta que en iPhone no hay
recolector de basura. Aquí tienes un par de enlaces con información.



Introduction to The Objective-C Programming Language
Memory Management Programming Guide for Cocoa

Creando y manejando clases:
Igual que pasa en C++, tendremos dos ficheros para crear nuestras clases, un .h para definirla y un .m para
implementarla. De esta forma tendremosque utilizar #import como señal para que el compilador sepa que
clases vamos a utilizar en nuestro código:
#import
#import "Hamperdine.h"
Así que lo primero que hay que hacer es definir nuestra clase en el .h, para futuros usos:
@interface NombreDeLaClase : NombreDeLaClasePadre {
@private
// Declaración de los atributos privados
@protected
// Declaración de los atributos protegidos(opción por defecto)
@public
// Declaración de los atributos públicos
}
// Declaración de propiedades y métodos
@end
Cualquiera que haya programado en un lenguaje orientado a objetos típico como Java o C# verá ciertos
elementos familiares, pero así de primeras uno puede ver lo “extravagante” que resulta este lenguaje con
respecto a su sintaxis. Para declarar un atributo es tan simple como:tipo nombre;
static tipo nombre;
Las propiedades las dejamos para más tarde de momento, así que vamos a ver como se declara un método
de la clase:

// Método estático de la clase
+ (tipo) nombre;
+ (tipo) nombre:(tipo)param1 … nombreArgN:(tipo)paramN;
// Método de la clase
- (tipo) nombre;
- (tipo) nombre:(tipo)param1 … nombreArgN:(tipo)paramN;
Los tipos que podemos usar son los mismosque en C, más algunos añadidos para Objective-C. Por ejemplo
está BOOL, que sirve para representar valores booleanos, siendo YES el equivalente a true y NO el de false.
Pero de todos los nuevos tipos id es relativamente importante, ya que representa de forma genérica
cualquier tipo de objeto. Realmente es lo mismo que poner NSObject *, que por defecto es la clase padre
de cualquier objeto enel lenguaje. Y ya que lo hemos mencionado sería recomendable conocer algunos
métodos principales de esta clase:




- (id) init; → Es el método para inicializar el objeto, que a efectos prácticos funciona como si fuera
el constructor de la clase.
- (NSString *) description; → Este método se utiliza como representación alfanumérica de la clase,
en C# su equivalente es el métodoToString().
- (BOOL) isEqual:(id)obj; → Sirve para comprobar si dos objetos son iguales en contenido, ya que
si no se sobre-escribe el método su implementación en NSObject tan solo se limita a comprobar si
el objeto actual y el pasado a la función tienen la misma dirección en la memoria. Esto solo nos
diría que son el mismo objeto, más que si se tratan de dos objetos distintos pero equivalentes encontenido.

Una cosa curiosa sobre la sobre-escritura de métodos en las clases hijas, es que no hace falta declarar en la
definición de la clase que vamos a sobre-escribir un método del padre, simplemente se añade en la
implementación y asunto resuelto. No todo iba a ser malo en el lenguaje, ¿no? Así que pasemos a mirar la
implementación que iría en el .m:
#import "NombreDeLaClase.h"...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Señor
  • Señor
  • Señor
  • Señor
  • Señor
  • Señora
  • Señor
  • señor

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS