Subscribe Twitter Twitter

martes, 13 de abril de 2010

Introducción a objective-C

Objetive C es un lenguaje de programación orientado a objetos y fué creado como un superconjunto de C, esto supone que se puede tanto importar librerías escritas en c como compilar código C lo cual le da mucha flexibilidad.

Teniendo en cuenta que lo que le diferencia a C es que es orientado a objetos por lo tanto toda la sintaxis no relacionada con objetos, clases... será exactamente igual a la sintaxis de C.

Dedicaremos un post a repasar la sintaxis básica en C para que así sea más sencillo afianzar la programación en objective-C.

Por otro lado en la parte de Objective-C orientada a objetos se diferencia del resto de lenguajes orientados a objetos en que cuando se invoca a un método de un objeto en objective C lo que se hace es enviar un mensaje a dicho objeto, de todas maneras objetive C es compatible con la invocación de métodos tradicional por lo tanto podremos hacer la misma acción con dos tipos de notaciones diferentes.

A continuación vamos a ver un pequeño ejemplo para ir familiarizándonos con esta nueva notación ya que al principio parece complejo pero en realizad si se coge el concepto es lo más fácil del mundo.

public class Persona {
String nombre;
String apellidos;

void caminar(int distancia){
}
}

Acabamos de definir la clase persona que tiene 2 atributos de tipo String (nombre y apellidos) y un método llamado caminar al cual se le pasa un parámetro entero que indica la distancia a recorrer.

¿Cómo invocamos al método caminar desde el objeto Pepe?
Partimos de que tenemos un objeto denominado Pepe ( más adelante veremos ciertas particularidades que hay en las clases y objetos) de momento vamos a ir entendiendo pequeños conceptos que evitarán que nos perdamos en la programación para el iphone.

En C++ lo haríamos así: Pepe -> caminar(30);

En Java por el contrario lo haríamos ... Pepe.caminar(30);

En cambio en objetive - C se haría : [Pepe caminar:30] si te das cuentas va todo con una notación diferente a la que estamos aconstumbrados pero el resultado en los 3 es el mismo, eso si , si no te gusta esta notación "especial" objetive-C soporta perfectamente la notacíón con el "." usada en java.

Si no tienes base en programación orientada a objetos pon un comentario y realizaremos una serie de post de programación orientada a objetos desde cero.

14 comentarios:

Cjuk dijo...

estaba deseando encontrar un blog como este, tengo conocimientos de programacion en C pero hace mucho que no programaba en C, me dedico a la programacion pero en SAP XI que es mas con cajas y enlaces y menos codigo.
Muchas gracias por dedicar tiempo a que otros podamos aprender y de paso poder ganar dinerillo entrando en la appstore !! felicidades por el blog ya os ire poniendo en los comentarios mis dudas!!

Anónimo dijo...

Hola
El blog esta muy bien, pero yo no tengo nada de idea sobre programacion y me gustaria saber donde poder obtener una minima base.
Gracias!

DonVito dijo...

FANTÁSTICO BLOG!!!!!

Cómo comentan, llevaba tiempo buscando algo parecido!!

Yo hace ya 4 años que no programo NADA, pero se me daba muy bien el C (aunque no ejerzo NADA, soy diseñador de aplicaciones informáticas, pero oxidado 5 años) por lo que este blog me va a venir de escándalo!

Eso si, en programación orientada a objetos, como si empezara de cero, por lo que agradecería esos post que comentáis dirigidos a los no0bs como yo.... ;)

Unknown dijo...

Lo mismo digo, gracias por vuestro trabajo, y secundo lo del compañero de arriba: una buena introducción a los objetos. También si es posible algunos links donde adquirir los conocimientos básico de C para seguir estos tutoriales.

Gracias de nuevo

Unknown dijo...

Buenas, aqui un programador basico de php que tambien le interesa ese post orientado a objetos :)

Muchas gracias, estoy muy emocionado con vuestro blog!

Anónimo dijo...

Hola, tengo ya varios años programando, tengo experiencia en varios lenguajes, C#, Java. HTLM etc etc... Ahora estoy empezando a aprender Objective-C. He tratado de aprender con tutoriales en varios blogs pero hasta ahora di con este, me parece genial. Lo que me ha matado es que al llegar a un ambiente tan diferente al que estoy acostumbrado como .Net no se donde y como es que se declaran las cosas y ando como perdido creo que ese ha sido mi mayor obstaculo con xCode. Voy a seguir todo tu blog a ver si me va mejor gracias por querer compartir tu o (sus) conociemientos saludos.

Pregunta:
Veo que existen diversas maneras de llamar a un metodo de un objeto.
Es valido hacer esto? y en el caso que el metodo "caminar" devolviera un parametro tipo String por ejemplo se podria capturar de la segunda forma?

Pepe.caminar(30);

String resultado=Pepe.caminar(30);

Gracias atte: @mac_shatta
:D

worldcolleague dijo...

Hola
La verdad es que no tengo idea de programación en C si en HTMLy algo de PHP ya que hace tiempo q no lo utilizo,
Hace tiempo que estaba buscando un pagina que enseñe como programar en iphone/ipod touch espero que me sirva para aprender

Unknown dijo...

ME gustaría aprender a programar con el lenguaje Objetive-c orientado a objetos.

desde hoy los seguiré.

Noemí dijo...

Hola M-PART© no te preocupes hay mucha gente que está como tu y nos está solicitando manuales post basicos de programación orientada objetos por lo que vamos a crear post de este tipo :)

Noemí dijo...

Hola maqueritiko te entendemos perfectamente Pablo viene del mundo .NET y yo del mundo Java y nos pasaba lo mismo que a ti al principio ya que esta manera de programar difiere mucho de lo que estamos acostumbrados por eso hemos creado este blog porque era lo que nos hubiera gustado encontrar a nosotros ya que como bien sabes hay mucho material en inglés y poco en español mi consejo es que no te desanimes que eso nos ha pasado a todos y estoy segura que poco a poco este entorno te va a resultar mucho más familiar.

Noemí dijo...

Ah por cierto lo de la notación con el "." o con los corchetes cuando creas tu un método da igual pero cuando usas métodos ya definidos es muy probable que se hagan de maneras diferentes, de todas maneras hoy tendrás un post sobre ello :)

Unknown dijo...

Estupendo blog! no os desaniméis y continuad con esto, a muchos nos va a venir de perlas... GRACIAS

Unknown dijo...
Este comentario ha sido eliminado por el autor.
Unknown dijo...

Muy bueno el blog, sigan con el desde 0. Felicitaciones.

Publicar un comentario