A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Programação Orientada para Objectos

Apresentações semelhantes


Apresentação em tema: "Programação Orientada para Objectos"— Transcrição da apresentação:

1 Programação Orientada para Objectos
ETI e IGE ISCTE

2 Informação http://iscte.pt/programacao/p2/
2002/2003 Programação Orientada para Objectos

3 Avaliação Problema: 10% Trabalho final: 40% Frequência: 50%
Em grupo Trabalho final: 40% Entrega intermédia: avaliação negativa = -3 valores Entrega final Em grupo com discussão individual Frequência: 50% Individual sem consulta: nota mínima 7 Grupos: 2 alunos 2002/2003 Programação Orientada para Objectos

4 Objectivos Conhecer os princípios básicos da resolução de problemas usando diversos paradigmas de programação. Ter conhecimentos sólidos da linguagem C++ e conhecimentos básicos da sua biblioteca padrão. Saber desenhar estruturas de dados e respectivos algoritmos em C++. Saber lidar com erros durante o desenvolvimento e fazer programas com um comportamento razoável face a erros. Ser capaz de planear a resolução dos problemas, analisando, desenhando e implementando correctamente os correspondentes programas. Ter conhecimentos elementares sobre a linguagem UML. 2002/2003 Programação Orientada para Objectos

5 Aula 1 Modularização: física e em pacotes
Modularização física e compilação separada Modularização em pacotes e espaços nominativos 2002/2003 Programação Orientada para Objectos

6 Divisão de um programa Mais fácil dividir trabalho
Permite divisão lógica do programa de acordo com objectivo das ferramentas Construção do executável acelerada Facilita reutilização de código 2002/2003 Programação Orientada para Objectos

7 Modularização Procedimental: rotinas De dados: classes
Funções e procedimentos De dados: classes Classes Física: módulos físicos (ou módulos) Ficheiros Em pacotes: pacotes Espaços nominativos 2002/2003 Programação Orientada para Objectos

8 Construção de um executável
Pré-processamento: pré-processador c++ -E programa.C –o programa.ii c++ -E matematica.C –o matematica.ii Compilação: compilador c++ [opções] –c programa.C c++ [opções] –c matematica.C Fusão (to link): fusor (linker) c++ -o programa programa.o matematica.o 2002/2003 Programação Orientada para Objectos

9 Pré-processamento Copia ficheiro de implementação (.C) para unidade de tradução (.ii) Directivas de pré-processamento (linhas iniciadas por #): Inclusões (#include) Macros (#define) Compilação condicional (#ifdef; #ifndef; #else; #endif) 2002/2003 Programação Orientada para Objectos

10 Compilação Tradução de unidade de tradução para linguagem máquina
Fases da compilação: Análise lexical Análise sintáctica Análise semântica Optimização Geração de código máquina 2002/2003 Programação Orientada para Objectos

11 Fusão Ficheiros objecto fundidos num único executável Verifica que:
Não há repetições Há uma função main() Para cada necessidade existe correspondente disponibilidade 2002/2003 Programação Orientada para Objectos

12 Exemplo «file» matemática.C «file» matemática.H «file» programa.C
Ficheiros fonte Pré-processamento «file» matemática.ii «file» programa.ii Unidades de tradução Compilação «file» matemática.o «file» programa.o Ficheiros objecto Fusão «file» programa 2002/2003 Programação Orientada para Objectos

13 Modularização física Dois ficheiros fonte: Que colocar em cada módulo?
Interface (.H) Implementação (.C) Que colocar em cada módulo? Que colocar em cada ficheiro fonte? 2002/2003 Programação Orientada para Objectos

14 Ficheiros de interface (.H)
Definições de classes Declarações de rotinas não-membro e não inline Definições de rotinas e métodos inline Definições de constantes Declarações de variáveis globais (evitar!!!) 2002/2003 Programação Orientada para Objectos

15 Ficheiros de implementação (.C)
Definições de tudo o que for apenas necessário dentro do módulo (classes, rotinas, ...) Definições de todas as rotinas e métodos que não sejam inline Definições de todas as variáveis globais 2002/2003 Programação Orientada para Objectos

16 Modularização em pacotes
Evitar problema de colisão de nomes Agrupamento das ferramentas num nível mais elevado de modularização: os espaços nominativos (name spaces) Colocar ficheiros de interface em directórios correspondentes ao espaço nominativo a que pertencem 2002/2003 Programação Orientada para Objectos


Carregar ppt "Programação Orientada para Objectos"

Apresentações semelhantes


Anúncios Google