Você está na página 1de 3

1

Tema 2: Objective-C

1. Extensão de ANSI C

 Convenção sintática para definição de classes;


 Convenção para métodos de classe e instância;
 Sintaxe para chamada de método (mensagem);
 Sintaxe para declaração de propriedades;
 Convenção para tipagem estática e dinâmica;
 Blocos - segmentos de código encapsulados;
 Extensões da linguagem como protocolos e categorias.

2. Vantagens

 Tipagem Dinâmica: detemina classe em tempo de execução;


 Ligação Dinâmica: determina o método a ser chamado em tempo de execução;
 Carregamento Dinâmico: permite adicionar módulos de código em tempo de execução.

3. Runtime System Adiar decisões de compile time e link time para runtime.

4. Objectos Um objecto associa dados com operações que podem ser usadas para afectar os dados.

5. id Objectos são um tipo de dados distinto: id.

6. Dynamic Typing

 Objectos são tipados dinamicamente em tempo de execução;


 É possível também informar ao compilador a classe do objeto estaticamente informando a classe no código
fonte.

7. Memory Management

 Automatic Reference Countin(ARC) => iOS 5+;


 Manual Reference Counting (MRC).

8. Objective Messaging Para fazer alguma coisa com um objecto, você envia uma mensagem para ele solicitando
para executar um método.

9. Messages to nil Enviar uma mensagem para um objecto nil não tem nenhum efeito em tempo de execução.

10. Dynamic Binding Ao enviar uma mensagem à um objecto, o método que será chamado é determinado em
tempo de execução.
2

11. Dot Sintax Notação usando ponto (.) como alternativa aos colchetes ([]) para invocar métodos de

acesso à propriedades.

12. Classes

 A definição de classe é um protótipo para um tipo de objecto;


 O compilador cria um único objecto para cada classe que sabe como criar outros objectos (factory object);
 Este objecto constrói instâncias da classe.

12.1 Herança – NSObject

 É uma classe raiz e não tem uma superclasse;.


 Define um framework básico para objectos Objective-C e interacção entre eles.

12.2 Herdando Variáveis de Instância e Métodos

Quando um objecto de classe cria uma nova instância, o novo objecto contém as variáveis de instância e
métodos definidos pela classe assim como de suas superclasses.

12.3 Sobrescrevendo Métodos Envio de mensagens para self e super para referenciar respectivamente métodos da
classe atual e das superclasses.

12.4 Classes Abstractas Objective-C não tem sintaxe para criação de classes ou métodos abstractos.

12.5 Static Typing Você pode usar o nome da classe no lugar de id para designar o tipo do objeto

Exemplo: Rectangle* myRectangle;

12.6 Type Introspection Instâncias podem consultar seu tipo em tempo de execução.

12.7 Class Objects

O objecto da classe contêm:

 Nome da classe e sua superclasse;


 Modelo das variáveis de instância;
 Declaração dos métodos seu retorno e seus argumentos;
 Implementação dos métodos;
 Todos os objectos de classe são do tipo Class.

12.8 Criando Instâncias A principal função do objecto da classe é criar instâncias.

12.9 Variáveis Para todas as instâncias da classe acessarem uma variável, você deve defini-la externamente.
3

12.10 Inicializando Objectos de Classe O método initialize é chamado antes da criação da primeira instância da
classe.

Você também pode gostar