conceitos de programacao orientada a objetos.Os programas em Objective-C possuem quatro partes bem definidas . A primeira define diretrizes para o pre-processador, a segunda define as classes e metodos, a terceira a implementa os metodos e a quarta e o programa em si. Mais tarde mostraremos como cada parte pode ficar armazenada em um arquivo separado, facilitando a organizacao do programa em si.Para facilitar, podemos iniciar lendo o programa a seguir que define nossa primeira classe, o Gato. Esse docil animal mia, logo vamos implementar uma classe Gato que possui um metodo chamado miau que serve apenas para escrever Miaau! na tela. Veja o codigo:meuGato.m// // Programa Gato // // por Alberto GOK Martins // para o tutorial de ObjC //// aqui comecam as diretrizes do pre-processador#import <stdio.h>#import <objc/Object.h>// aqui comeca a definicao das interfaces@interface Gato: Object-(void) miau;@end// aqui comecam as implementacoes dos metodos@implementation Gato-(void) miau{ printf("Miaau!\n");}@end// aqui comeca o programaint main( int argc, const char *argv[] ){ Gato *meuGato; meuGato = [Gato alloc]; meuGato = [meuGato init]; [meuGato miau]; [meuGato free]; return 0;}Todas as linhas que iniciam por // sao linhas de comentarios. Estas sao ignoradas, logo e permitido escrever qualquer coisa apos as duas barras. Comentarios sao utilizados para documentar um programa, facilitando sua compreensao.Outra forma de inserir comentarios em programas Objective-C e utilizar os caracteres /* no inicio do comentario e */ no final; desta forma pode-se criar blocos de comentario com muitas linhas, sem que seja necessario escrever // a cada linha nova.As linhas iniciadas por # sao diretrizes de pre-processamento. No programa acima utilizamos #import <...>, que diz para o compilador localizar, processar e importar informacoes dos arquivos stdio.h e objc/Object.h, ambos arquivos do sistema. Estes arquivos contem informacoes sobre a rotina printf e a classe Object, que foram utilizadas no nosso programa.A segunda parte do arquivo consiste na definicao das Classes e de suas interfaces. Quando nos definimos uma nova classe e necessario dizer ao compilador algumas coisas. A primeira delas e falar de onde a classe vem, ou seja quem e a sua superclasse. Utilizamos para isso a secao @interface, cujo formato geral e:@interface NovaClasse: SuperClasse{ Declaracao_de_variaveis;}Declaracao_de_metodos;@endNo nosso programa definimos a classe Gato, que por enquanto nao possui variaveis e apenas um metodo, o miau. Esse e um metodo da instancia da classe Gato pois sua declaracao e iniciada com o simbolo -. Poderiamos tambem criar um metodo da propria classe Gato utilizando o simbolo + para, por exemplo, contar o numero de gatos que foram criados no programa.Apos o sinal - temos a declaracao entre parenteses do que o metodo ira retornar; no caso, void, indica que nada sera retornado. Finalmente temos o nome do metodo. Mais adiante forneceremos o formato geral de declaracao de metodos.A terceira parte do arquivo e a implementacao dos metodos da classe. Ela define os metodos, ou seja contem seus codigos, declarados na parte @interface. O formato e:@interface NovaClasseDefinicao_de_metodos;@endA definicao de um metodo nada mais e do que sua declaracao sem o caractere ; acompanhada por seu codigo, que e colocado entre chaves { e }. No nosso programa,