Esse é o primeiro de uma serie de tutoriais que tem como objetivo a introdução a
programação na linguagem Objective-C. Uma linguagem que é utilizada no
desenvolvimento de aplicações para iOS e Mac os x.
É importante que você já saiba C ou C++, pois fica mais facil de aprender, pois a sintax do Objective-C e totalmente baseada em C. mudando apenas algumas palavras chaves e a orientação a objetos(Baseada em Smalltalk).
Utilizaremos o GCC para compilar nosso código
Primeiro programa:Código:
/* Main.m
* GameDev.com.br
*/
#import <stdio.h>
#import <objc/Object.h>
// - Declaração da classe e metodos
@interface Robo: Object
{
int n_Pecas;
int n_Modelo;
}
-(void) Apresentacao;
@end
// - Implementação
@implementation Robo
-(void) Apresentacao
{
n_Pecas = 1240;
n_Modelo = 2356;
printf("Sou o robo modelo %d constituido por %d peças.\n",n_Modelo,n_Pecas);
}
@end
//Função principal
int main( int argc, const char *argv[] )
{
//Declara a classe robot e alloca na memoria depois inicializa.
Robo *robot = [[Robo alloc] init];
//Chama a função que faz a apresentação do robo
[robot Apresentacao];
//Elimina o robo da memoria
[robot release];
return 0;
}
GCC:Citação:
gcc Main.m -o PrimeiroPrograma -l objc
ResultadoEntendendo o código:-----------------------
Código:
#import <stdio.h>
#import <objc/Object.h>
#import - é uma macro utilizada para se importar bibliotecas para o nosso programa.
Citação:
Semelhante a #include do C e C++.
A biblioteca "stidio" é para entrada e saida de dados.
Já a objc/Object.h é para importar o objeto principal que é herdado pela nossa classe para ser tratada como
objeto e ter as funções de inicialização e alocação na memória.
-----------------------
Código:
@interface Robo: Object
{
int n_Pecas;
int n_Modelo;
}
-(void) Apresentacao;
@end
@interface Robo:ObjectPrimeiro o
@interface que é definição da criação da classe(semelhante ao
class em c++)
Logo vem o nome da nossa classe e depois de ":" uma herança da classe object que torna nossa classe
um objeto por completo.
Código:
{
int n_Pecas;
int n_Modelo;
}
Dentro deste bloco de código são definidas as variaveis da nossa classe.
-(void) Apresentacao;Função da nossa classe. o sinal inicial "-" para funções.(Na prossima parte irei explicar mais detalhadamente)
(void) - Valor de retorno da função.
Apresentação - Nome chave da função.
@end - Fecha o bloco de definição da classe.
-----------------------
Código:
@implementation Robo
-(void) Apresentacao
{
n_Pecas = 1240;
n_Modelo = 2356;
printf("Sou o robo modelo %d constituido por %d peças.\n",n_Modelo,n_Pecas);
}
@end
@implementation Robo - Sinaliza a implementação das funções de nossa classe.
Logo após vem a implementação da função.
@end - Novamente finaliza o bloco de definição.
-----------------------
Código:
Robo *robot = [[Robo alloc] init];
Declara nossa classe e alloc na memoria e depois inicializa.
Citação:
A chamada de funções de classes em objective-C é feita da seguinte forma:
["Nome da classe" "Palavra chave de função"], Na proxima parte irei explicar com mais detalhes.
Código:
[robot Apresentacao];
Chama a função de apresentação.
Código:
[robot release];
Elimina nossa classe da memoria.
-----------------------
http://en.wikipedia.org/wiki/Objective-Chttp://developer.apple.com/documentatio ... bjectiveC/http://developer.apple.com/library/mac/ ... C/ObjC.pdfBom finalizamos nosso primeiro tutorial sobre Objective-C.
Em breve teremos mais partes.
Abraço.