#desenvolvimento

Conhecendo Objective-C – Parte III


Olá pessoal.

Neste post veremos um pouco sobre os conceitos contidos na linguagem Objective-C.

Objetos

A grosso modo, um objeto é composto de uma estrutura de dados e por um conjunto de métodos. Os métodos do objeto são operações que acessam dados dos objetos. Os dados acessados são variáveis de instância, ou seja, uma estrutura de dados. É importante saber que uma unidade de programa é composta por um conjunto de objetos.

id

Objective-C provê um tipo de dado para identificar um objeto sem especificar a classe do objeto. Este tipo de dados é denominado id que é um indentificador de objetos. O tipo id é um tipo geral para qualquer tipo de objeto. Acredito que o objetivo do tipo id seja semelhante ao var disponibilizado no C#.  O valor inicial definido para o id é zero.

Tipagem dinâmica

O tipo id é completamente não restritivo. Por si só, não fornece informações sobre um objeto, exceto que ele é um objeto. Em algum ponto, um programa precisa procurar mais informações específicas sobre os objetos que ele contém. E já que o designador id não é capaz de fazê-lo, o próprio objeto é capacitado para fornecer estas informações em tempo de execução.

A variável de instância isa identifica as classes dos objetos, ou seja, qual tipo de objeto ele é. Objetos com o mesmo comportamento e mesmos tipos de dados são membros de uma mesma classe. Objetos são portanto dinamicamente tipados em tempo de execução, mas de qualquer forma ele precisa de um tipo. O sistema em tempo de execução pode procurar a classe exata a qual um objeto pertence com a finalidade de solicitar o objeto.

A variável isa também habilita objetos para instrospecção de performance para procurar informações sobre ele em outros objetos. O compilador grava informações sobre a definição de classes nas estruturas de dados para serem usadas em tempo de execução do sistema. As funções do sistema em tempo de execução utiliza a isa para procurar essas informações em tempo de execução. Usando o sistema em tempo de execução, você consegue identificar se um objeto implementa um método particular ou descobrir o nome da sua superclasse.

É possível também dar ao compilador, informações sobre a classe de um objeto por tipagem estática no código fonte usando o nome da classe. Classes são tipos particulares de objetos e o nome da classe pode servir como o nome de um tipo.

Gerenciamento de memória

Em qualquer programa é importante garantir que objetos sejam desalocados quando eles não são mais necessários. Caso contrário o uso de memória do aplicativo se torna maior do que o necessário. Também é importante garantir que você não desaloque objetos enquando eles ainda estiverem sendo usados.

A título de conhecimento, o Objective-C oferece três mecanismos de gerenciamento de memória:

  • Automatic Reference Counting (ARC)
  • Manual Reference Counting (MRC)
  • Garbage Collection

Claro que ainda existem muitos outros conceitos importantes a serem estudados. Mas finalizo este primeiro contato com a linguagem na expectativa de que novos posts virão em breve.

Até 😉

Conhecendo Objective-C – Parte I

Conhecendo Objective-C – Parte II

Anúncios
Padrão

5 comentários sobre “Conhecendo Objective-C – Parte III

  1. Jennyfer Costa disse:

    Gostei muito das explicações dadas. Gostaria que fizesse a lista de palavras reservadas desta linguagem. Facilitaria muito. Parabéns!

  2. E aí? Não vai continuar com suas explicações? Gostei do que escreveu sobre métodos. Não tinha conseguido entender direito até você explicar.
    Abraço

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s