|
|
Line 1: |
Line 1: |
| + | {| cellspacing="0" cellpadding="0" style="clear:right; margin-bottom: .5em; float: right; padding: .5em 0 .8em 1.4em; background: none;" |
| + | | |
| + | __TOC__ |
| + | |} |
| + | |
| A definição oficial do conteúdo de cada aula pode ser encontrada na [https://fenix.ist.utl.pt/publico/viewSite.do?method=summaries&objectCode=8711&executionPeriodOID=83 página dos sumários] mantida pelo Fénix. | | A definição oficial do conteúdo de cada aula pode ser encontrada na [https://fenix.ist.utl.pt/publico/viewSite.do?method=summaries&objectCode=8711&executionPeriodOID=83 página dos sumários] mantida pelo Fénix. |
| | | |
− | == Aula 01: Apresentação da Disciplina == | + | == Aula 01: Apresentação == |
| | | |
| Apresentação da disciplina: objectivos gerais; objectivos operacionais; programa; avaliação. | | Apresentação da disciplina: objectivos gerais; objectivos operacionais; programa; avaliação. |
Revision as of 20:44, 4 October 2005
A definição oficial do conteúdo de cada aula pode ser encontrada na página dos sumários mantida pelo Fénix.
Aula 01: Apresentação
Apresentação da disciplina: objectivos gerais; objectivos operacionais; programa; avaliação.
Informação adicional pode ser obtida na página oficial (Fénix).
Aula 02: Introdução
Introdução aos objectos
- O que é um objecto;
- Aspectos da captura de caracterÃsticas: como capturar a natureza das coisas, tendo em consideração os aspectos de interesse para o fim em causa.
Introdução à programação em Java
Exemplos
Exemplo simples: "Hello world".
Aula 03: Operadores, Expressões e Controlo de Fluxo
Operadores e expressões
- Apresentação e discussão de operadores, expressões e operações de conversão de tipos primitivos e objectos em Java
- Aspectos relacionados noutras linguagens (C/C++/Smalltalk)
- Método
equals
- Casts
- Restrições à s operações sobre booleanos
Exemplos
Controlo de fluxo
Aula 04: Construção de Objectos
Construção e iniciação de objectos
- Construção e iniciação de objectos em Java;
- Ordem de iniciação de atributos de classes (
static
) e de objectos.
A referência this
:
- Uso como auto-referência;
- Sintaxe especial para chamada a múltiplos construtores.
Overloading
Overloading de métodos.
Exemplos
Exemplos de aplicação.
Discussão de aspectos problemáticos e comparação com outras linguagens (PHP e C/C++).
Destruição de objectos
Discussão de aspectos relacionados com a destruição de objectos: o caso do Java (comparação com outras linguagens). Este tópico foi discutido na Aula 06.
Aulas 05 e 06: Organização de Código e Packages
Organização de código
- Revisão do conceito de tipo de dados abstracto;
- Organização de código: interface/implementação; separação;
O caso Java
Exemplos
Aulas 07 e 08: Herança e Composição
Herança e composição
- Diferenças
- Quando usar cada uma das técnicas
- Discussão de aspectos relacionados com estes conceitos
Exemplos
Mecanismos do Java
Exemplos
Aula 09: Polimorfismo
Tipos
- Polimorfismo e tipos primitivos
- Polimorfismo e tipos compostos (classes).
- Herança e polimorfismo: upcasting e downcasting.
Organização de Código
- Definição de métodos: overloading vs. overriding
- Selecção do método a invocar: early binding e late binding
Exemplos
Aula 10: Polimorfismo e Classes Abstractas
Classes Abstractas
- Noção de classe abstracta
- Separação de interface e implementação
- Propriedades
- Polimorfismo e classes abstractas
- Discussão de aspectos problemáticos
Exemplos
- Editor gráfico sem classes abstractas
- Editor gráfico com classes abstractas
Aula 11: Interfaces
Interfaces
- Revisão dos conceitos subjacentes à s classes abstractas e suas propriedades
- PrincÃpios e propriedades
Interfaces em Java
- Comparação entre classes abstractas e interfaces
Exemplos
- Exemplos simples em Java e C++ (classes virtuais puras)
- Exemplo completo em Java: Cão, Vigilante, CãoDeGuarda, CãoPastor