Objective C

Objective-C para desarrolladores Java: Parte 1

Como desarrollador Java y claro que no con mucha experiencia en lenguaje C, es importante comenzar conociendo algunas diferencias entre ambos lenguajes. Aprendí cuestiones básicas de lenguaje C desde la preparatoria, pero claro que sin tener ninguna práctica en la Universidad, olvide lo que aprendí, sin embargo no es muy complicado recordar aquellas cuestiones básicas.

En este sencillo tutorial, vamos ver algunos conceptos básicos de Objective-C que hereda del lenguaje C con el fin de perfilarnos más adelante a comenzar con el desarrollo de aplicaciones en MAC OS X y iPhone utilizando Xcode.

Aunque Objective C es más utilizado en el mundo Mac y este ejercicio se desarrolló en una MacBook, es posible hacerlo en Windows, bajar el compilador y cualquier editor, aunque claro esta, no es tarea de este tutorial explicar su instalación. A continuación paso a listar las herramientas utilizadas para este ejercicio.

NOTA: No es intensión de este tutorial, explicar las diferencias entre lenguaje C puro y Objective C.

HERRAMIENTAS.

  • MacBook Pro – OS X Lion
  • CodeRunner – Puedes utilizar cualquier otro editor de texto.

 

CONCEPTOS BÁSICOS

Al igual que en Java, en Objective C se acostumbra al uso de Interfaces y Clases. Vamos a crear una interfaz llamada Arithmetic

 

NewImage

Figura 1.

  • En Java, la super clase cósmica de la cual deriva toda la jerarquía de clases de la biblioteca de Java, es llamada Object. Pues bien, en Objective C, NSObject es el similar a la clase Object. Aunque en Objective C no es requisito que una clase derive de NSObject. En Java si una clase no especifica extender a otra clase, internamente deriva de Object.
  • Mientras en Java la herencia de especifica mediante la palabra “extends”, en Objective C se indica mediante el símbolo dos puntos (:).
  • En Java, el cuerpo de una interfaz o de una clase esta definida por la apertura y cierre de llaves {….}, en Objective C se delimita por @interface y @end.
  • En Objective C las variables de instancia de declaran seguido de la definición de la interfaz y encerradas entre llaves, tal y como se muestra en la imagen. operador1 y operador2 son estas variables.
  • En Java podemos definir Fmétodos de instanciamétodos de clase. Recordando que los métodos de instancia son aquellos que podemos invocar creando una instancia del objeto, mientras que los métodos de clase son aquellos que podemos invocar sin tener una instancia de un objeto, como por ejemplo, los métodos de la clase Math son un ejemplo claro de los métodos de clase… Math.pow(…..). En java, los métodos que en su definición agregan la palabra static, se consideran métodos de clase.

 

NewImage

Figura 2.

  • En Objective C, un método de instancia se declara con el símbolo menos (-) y los métodos de clase (como el método pow en Java) se declaran con el símbolo más (+) [figura 1].
  • El tipo de dato de retorno de un método siempre se especifica entre paréntesis, en este caso, es (void) [figura 1].
  • Como se observa en la figura 1, después del nombre del método, se escribe el caracter dos puntos (:) para posteriormente indicar el tipo de dato del parámetro que es encerrado dentro de paréntesis. En este caso, tenemos dos parámetros llamados op1 y op2. Ámbos son de tipo (NSInteger).

En la segunda parte vamos a realizar la implementación de la interfaz y veremos como compilar, enlazar y ejecutar este ejercicio desde la línea de comandos para que en la tercer parte podamos desarrollar una sencilla interfaz gráfica mediante Xcode + Interface Builder que utilice esta clase Arithmetic.