Baixe o app para aproveitar ainda mais
Prévia do material em texto
OBJECTIVE C Resumo O presente artigo tem como objetivo apresentar de modo sintetizado as raízes de um preparatório de aprendizagem de conceitos e linguagens de programação Objective C , é a principal linguagem usada para escrever softwares para Mac. Palavras-chave: Objective-C , Linguagem de Programação ,Conceitos . INTRODUÇÃO Objective-C, denominada frequentemente de ObjC ou mais raramente de Objective C ou Obj-C, é uma linguagem simples de computador, projetada para permitir uma programação orientada a objetos sotisficada, é derivada do Smalltalk (Orientação a objetos), o uso de objetos e padrões de design orientado a objetos é fundamental para o desenvolvimento de aplicações utilizando o Cocoa Touch (framework de desenvolvimento para iPhone).uma das primeiras linguagens orientadas a objetos e é também um conjunto de adições à linguagem C, dando ao C suporte à construções orientadas a objetos como as da Smalltalk. DESENVOLVIMENTO O ObjC foi criado principalmente por Brad Cox e Tom Love no início da década de 1980 na empresa deles, a Stepstone. Brad havia tido seu interesse despertado por problemas de reusabilidade em projeto de software e programação. Para demonstrar que uma melhora satisfatória podia ser feita, Cox provou que componentes de software necessitavam apenas de umas poucas mudanças práticas nas ferramentas existentes. Precisando apenas dar suporte a objetos de modo flexível, possuindo um conjunto de bibliotecas funcionais e permitindo que fossem empacotados num único formato multiplataforma. E então em meados da década de 80, junto com Tom Love ele criou a linguagem Objective C baseado nos seus estudos. A primeira publicação oficial falando sobre o Objective-C foi escrita em 1986 no livro de Brad Cox, “Programação Orientada a Objetos, Uma Abordagem Evolutiva”. Nele Brad destacou que o problema maior está na reusabilidade e não na linguagem. Nos anos 90, Steve Jobs foi demitido da Apple e fez alguns investimentos. Entre eles, adquiriu parte de uma nova empresa, a NeXT. A NeXT licenciou o Objective-C da StepStone e liberou uma versão própria do compilador e das bibliotecas das linguagens, nas quais a interface do usuário e da estrutura NeXTstep eram baseadas. As ferramentas e a qualidade do sistema operacional fizeram com que a NEXT ocupasse uma parte muito popular do nicho das estações de trabalho. Na volta de Jobs para a Apple em 1996, foi exigido que a Next fosse comprada, Jobs assumiu a frente dos negócios da Apple e reformulou vários produtos. Entre eles o próprio SO, que estava defasado em relação aos outros. E para ser realizada essa reformulação, a linguagem escolhida foi justamente o Objective C, sendo criado assim o Mac OS X. Muitos dos tradicionais conceitos de orientação a objetos como encapsulamento, herança, polimorfismo e interface, estão presentes em Objective-C. Objective-C é um super conjunto da versão ANSI da linguagem de programação C e suporta a mesma sintaxe básica do C. Tal como acontece com o código C, você define seus arquivos de cabeçalho e arquivos de origem para separar as declarações públicas dos detalhes de implementação do seu código. Essa linguagem é usada principalmente para o desenvolvimento no ambiente Cocoa, tanto para Mac quanto para os dispositivos iPhone e iPad. Não é uma linguagem nova . Porém, com a recente popularização do iPhone, criou-se uma nova leva de programadores que estão aprendendo só agora essa linguagem. (Plataforma Cocoa), trata-se de uma plataforma de desenvolvimento extremamente completa e fácil de usar, porém radicalmente diferente das ferramentas do mundo Windows, do desenvolvimento Java e outras plataformas de desenvolvimento mais populares. Como seria de se esperar, uma plataforma “nova” de desenvolvimento com uma linguagem “nova” apresenta desafios para os desenvolvedores. Um desses desafios é a questão da segurança. 1.CLASSES Uma classe é um molde ou diagrama para a criação de objetos. Como em muitas outras linguagens orientadas a objetos, as classes em Objective-C fornecem a estrutura básica para encapsular alguns dados com ações que atuam nesses dados. Um objeto é uma instância em tempo de execução de uma classe, e contém sua própria cópia das variáveis instânciadas pela classe e ponteiros para os métodos da classe. As classes em Objective-C são divididas em duas partes: Arquivo de cabeçalho e Arquivo de implementação. Arquivos de cabeçalho:Possuem as variáveis e os métodos da classe. Porém possui apenas a cabeça(declaração) dos métodos. Arquivos de cabeçalho possuem uma extensão .h. Exemplo: Código: @interface MinhaClasse: NSObject { //variaveis int count; NSString *nome; } // Métodos -(void)realizaCalculo:(int) p; +(BOOL) verificaAcao; @end Na primeira linha declaramos: Código: @interface MinhaClasse: NSObject Para declararmos um arquivo de cabeçalho(.h) devemos iniciar com a sintaxe interface NomeDaClasse: NSObject. Os dois pontos( seguidos de NSObject quer dizer que a interface está herdando da classe NSObject. TODAS as classes em Objective-C herdam da classe NSObject implícitamente, porém ao criarmos um arquivos de cabeçalho devemos implementar esta declaração(lembrando que o XCode que é a IDE do Objective-C já implementa essa declaração ao criar uma nova classe). Assim como no C, Objective-C tem suporte a ponteiros. Todos objeto em Objective-C é um ponteiro, apenas os tipos primitivos(int,float,char) escapam desta regra. Exemplo na linha: Código: NSString *nome; NSString é uma classe que possui vários métodos que permitem trabalhar com objetos do tipo String(métodos de comparação, inicialização e etc) .Para criarmos métodos em Objective-C, devemos declará-los fora das chaves e antes do @end. 2.HERANÇA Outro paradigma forte da programação orientada a objetos é a herança de classe. Quando uma classe A é uma subclasse da classe B, a classe A herda os atributos e comportamentos da classe B. A classe B é definida como classe pai ou superclasse de A. Herança também promove a reusabilidade de código e modularidade. 3.MÉTODOS EM OBJECTIVE-C Como vimos acima o primeiro método inicia com -(void). O traço(-) quer dizer que este método é um método de instância, ou seja, ao criarmos um objeto do tipo MinhaClasse, poderemos acessar este método, (void) quer dizer que ele não possui um valor de retorno. O métodorealizaCalculo está recebendo um parametro do tipo int, que se chama p. Então para enviar um parâmetro para um método, basta fazer da seguinte maneira: Código: -(tipoDeRetorno)NomeDoMetodo:(tipoDoParametro)nomeDoParametro; Para um método que recebe mais de um valor de retorno, podemos fazer da seguinte maneira: Código: -(tipoDeRetorno)nomeDoMetodo:(int) p :(char)c; O segundo método +(BOOL) verificacao é um método de classe, pois inicia com o mais(+), ou seja, este método não pode ser acessado por uma referência da classe, ele pode ser acessado apenas de dentro da própria classe. Ele retorna um tipo booleano(BOOL). Arquivos de implementação:possui a implementação dos métodos criados na @interface. Código: @implementation MinhaClasse -(void)realizaCalculo:(int) p : (char)c { // implementação } +(BOOL) verificaAcao { // implementação } @end Já não é necessário declarar que a implementação herda de NSObject, porque esta declaração é feita apenas na @interface ,como foi citado a cima. 4.TRABALHANDO NO CONSOLE Para receber e mostrar dados, usamos uma sintaxe semelhante ao do C.Para informar uma mensagem no console, devemos utilizar: Código: NSLog(@"Hello World"); Este arroba definido antes da mensagem foi definido como padrão pelos criadores da Linguagem. Então devemos utilizar sempre o arroba paraexibir uma mensagem com o comandO NSLog. Para ler um valor: Código: scanf("%i",&variavel); Utilizamos o & antes da variável porque scanf() armazena valores e por isso precisa de um lugar para armazená-los. Isto é feito fornecendo os endereços(em ponteiros) de onde armazenar os valores. 5. STRINGS Como um sub-conjunto de C, o Objective-C suporta as mesmas convenções para especificação de string que o C. Em outras palavras, caracteres individuais são encapsulados por aspa única, e cadeias de caracteres são cercadas por aspas duplas. Todavia, o framework do Objective-C tipicamente não usa string no estilo C. Ao invés disso, ele passa strings através de objetos NSString. A classe NSString fornece um invólucro para strings, incluindo gerenciamento de memória para armazenar strings de tamanho arbitrário, suporte a Unicode, utilitários de formatação estilo printf, e mais. Já que string são muito usadas, o Objective-C fornece uma notação curta para criar objetos NSString a partir de valores constantes. Para usar esse atalho, tudo que se tem que fazer é preceder uma string normal com aspas duplas com o simbolo @. 6. POLIFORMISMO, TYPING DINÂMINICO E BINDING DINÂMICO Polimorfismo é um conceito muito simples. Ele nada mais é do que a habilidade que uma linguagem orientada à objetos tem de definir métodos com o mesmo nome para classes diferentes. Cada definição de classe guarda o código necessário para seus métodos.Typing dinâmico é a característica que a linguagem tem de poder postergar a determinação da classe de um objeto até o tempo de execução do programa, enquanto que Biding dinâmico é poder postergar a determinação do método que será invocado em um objeto até o tempo de execução. Para realizar o typing e o binding dinâmicos utiliza-se o tipo id. Este é um tipo de objeto genérico, que pode ser utilizado para guardar objetos pertencentes a qualquer classe. 7. VARIÁVEIS Variáveis são usadas para armazenar dados temporariamente. Em Objective-C as variáveis possuem tipos, pois é uma linguagem tipada. Vejamos alguns desses tipos: int - para inteiros (números sem ponto decimal) char - para cadeis de caracteres float - para números com pontos decimais double - como float, porém, mais preciso CONCLUSÃO O propósito desse artigo foi realizar um estudo sobre as principais caracteriscas da linguagem Objective C , suas origens e um resumo do funcionamento. Aprender a desenvolver aplicativos na linguagem de programação Objective-C é factível. Evidentemente é necessário que se dedique tempo de estudo para acostumar-se com a sintaxe e com as peculiaridades da linguagem, como, nomes de funções e métodos longos, estrutura de classes diferenciada, plataforma de desenvolvimento específica, utilização de classes próprias com particularidades, entre outros. REFERÊNCIAS BIBLIOGRAFICAS Learning Objective-C: A Primer Apple Developer Connection -https://developer.apple.com/library/ios/documentation/Cocoa/Conceptual/ProgrammingWithObjectiveC/Introduction/Introduction.html Trabalhando com arquivos em Objective-C http://www.techotopia.com/index.php/Working_with_Files_in_Objective-C O básico de Objective C https://www.oficinadanet.com.br/post/10003-o-basico-do-objective-c-e-logica-de-programacao-antes-da-ios-sdk Introdução ao Objective C http://www.devmedia.com.br/introducao-ao-objective-c/23061
Compartilhar