quarta-feira, 11 de dezembro de 2013

Objective-C

Vamos dividir o tópico da linguagem usada no iOS, o Objective-C, em alguns post, uma vez que aprender uma linguagem requer mais do que umas poucas horas. Na realidade, este (e os outros) tem post tem como objetivo introduzir os conceitos da linguagem. Na sua totalidade, a linguagem Objective-C e suas APIs são bastante amplas.

Mas, vamos ao que interessa.

A linguagem Objective-C é derivada do C, usa o paradigma orientado a objetos e tem algumas coisas um pouco diferentes das linguagens de programação mais difundidas como Java e C#.

As classes Java são criadas em dois tipos de arquivos diferentes: o arquivo de definição (com extensão .h) e o arquivo de implementação (com extensão .m). Suponha que queremos definir uma classe Nave (espacial) que herda de uma classe Veiculo. A declaração do arquivo .h ficaria da seguinte forma:


// precisa importar o haader da classe pai
#import "Veiculo.h"

// declaração do nome da classe e da classe pai
@interface Nave : Veiculo

// definição do cabeçalho dos métodos

@end


O arquivo .m teria a seguinte definição:

// precisa importar a classe header
#import "Nave.h"

@implementation Nave

// implementação dos métodos declarados

@end


No arquivo de implementação é possível definir métodos que serão privados. Para isto devemos criar uma declaração @interface e finalizar com @end, como no exemplo abaixo:

#import "Nave.h"

@interface Nave()

// declaração de métodos privados

@end

@implementation Nave


@end

Vejamos a figura abaixo, na qual estamos definindo o seguinte método:

- (void) orbitarNave:(Planeta *) planeta naAltitude:(double)km;





Pode parecer estranho, mas o nome do método é orbitarNave:naAltitude. Como eu comentei antes, o Objective-C é bem diferente de outras linguagens, mas com o tempo acaba se acostumando. A implementação do método no arquivo .m fica da seguinte forma:

- (void) orbitarNave:(Planeta *) planeta naAltitude:(double)km {
    
    // implementação do método
    

}

Vou ficar por aqui para o post não ficar muito longo. No próximo vamos falar sobre atributos e métodos get e set.

Até a próxima!






Nenhum comentário:

Postar um comentário