Introdução ao Objective-C – parte 2 (classes)

Agora que você já teve o primeiro contato com a linguagem (no post anterior), vamos ver como declarar classes, métodos e propriedades.

Em Objective-C usa-se a seguinte nomenclatura para os arquivos:

  • arquivo.h – header
  • arquivo.m – arquivo que pode conter tanto código Objective-C como C

Para esse tutorial eu usarei o XCode (falarei mais sobre ele depois), mas qualquer editor de texto serve para editar os arquivos, e o GCC cria os executáveis. Neste código específico, usarei o “vi” e o compilador “gcc” apenas para exemplificar como proceder neste caso.

Vamos agora para a nossa primeira classe, vou chama-la de “MyFirstClass.m”, para este exemplo, vou digitar todo o código no mesmo arquivo:

[code lang=”c”]
#import <Foundation/Foundation.h>

@interface MyFirstClass : NSObject
{
int aInt;
}

-(int) aInt;
-(void) setAInt: (int) _aInt;

-(void) print;

@end

@implementation MyFirstClass
-(void) print
{
NSLog(@"Número informado é: %i", aInt);
}

-(void) setAInt: (int) _aInt
{
aInt = _aInt;
}

-(int) aInt
{
return aInt;
}
@end

int main(int argc, const char *argv[])
{
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
MyFirstClass *m = [[MyFirstClass alloc] init];

[m setAInt: 5];
[m print];

[m release];
[pool drain];

return ( 0 );
}
[/code]

Para compilar um programa usando o GCC em qualquer plataforma suportada, basta digitar o seguinte:

[code lang=”c”]gcc -framework Foundation MyFirstClass.m -o MyFirstClass[/code]

se não houve nenhum erro o executável “MyFirstClass” será criado, e quando executado exibirá a seguinte saída:

[code]
Alex-Chiarandas-MacBook-Pro:trainning aechiara$ ./MyFirstClass
2010-01-05 22:02:15.169 MyFirstClass[380:903] Número informado é: 5
Alex-Chiarandas-MacBook-Pro:trainning aechiara$
[/code]

Divirta-se alterando o código para exibir outras mensagens ou realizar somas por exemplo. O NSLog se comporta como o “printf” do C.

Até o próximo artigo.

4 Replies to “Introdução ao Objective-C – parte 2 (classes)”

  1. não era o escopo do artigo explicar o que é uma classe ou orientação a objetos, apenas como criá-la em Objective-C, e é isso que acontece na linha 3 do código.

  2. náo entendi o que isso faz! int main(int argc, const char *argv[])
    {
    NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
    MyFirstClass *m = [[MyFirstClass alloc] init];

    [m setAInt: 5];
    [m print];

    [m release];
    [pool drain];

    return ( 0 );
    }
    Para compilar u

    1. Tiago esse é o código de um programa que executa na console.
      Se estiver utilizando o vi, é só fazer como o artigo diz, cria um arquivo chamado MyFirstClass.m, copia ou digita esse conteúdo lá, e salva.
      depois executa o gcc (como o artigo mostra), para ter o gcc disponível, você deve instalar o XCode, você pode baixá-lo gratuitamente no site de desenvolvimento da Apple.
      O que o código faz é o seguinte, ele cria uma nova instância da classe MyFirstClass, chama um método que set um número inteiro com 5 e depois imprime ele.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.