Programação com Objectos: Difference between revisions
From Wiki**3
Line 30: | Line 30: | ||
== Aula 04: Construção de Objectos == | == Aula 04: Construção de Objectos == | ||
Construção e iniciação de objectos em Java | ===Construção e iniciação de objectos=== | ||
* Construção e iniciação de objectos em Java; | |||
* Ordem de iniciação de atributos de classes (<code>static</code>) e de objectos. | |||
A referência <code>this</code>: | |||
* Uso como auto-referência; | |||
* Sintaxe especial para chamada a múltiplos construtores. | |||
===Overloading=== | |||
''[[Overloading]]'' de métodos. | |||
===Exemplos=== | |||
[[PO 2005/06: Exemplos da Aula 04|Exemplos de aplicação]]. | |||
Discussão de aspectos problemáticos e [[Comparação de Linguagens de Programação|comparação com outras linguagens]] (PHP e C/C++). | |||
== Aulas 05 e 06: Organização de Código e ''Packages'' == | == Aulas 05 e 06: Organização de Código e ''Packages'' == |
Revision as of 22:28, 27 September 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 da Disciplina
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
- Tipos primitivos: dados atómicos simples;
- Objectos e referências em Java: referências e estruturas compostas;
- Contraste com C/C++: diferenças e semelhanças;
- Organização da memória: zonas e memória e respectiva utilização pelos conceitos da linguagem;
- Definição de classes simples: conceitos de variável e método;
- O uso da palavra reservada
static
: definição de dados e funções partilhados; - Convenções de escrita de programas em Java: melhoramento da legibilidade de um programa;
- Escrita e compilação de programas.
Exemplos
Exemplo simples: "Hello world".
Aula 03: Operadores, Expressões e Controlo de Fluxo
Operadores, Expressões e Controlo de Fluxo. 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 de aplicações simples: atribuição; comparador; conversão para Strings
.
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++).
Aulas 05 e 06: Organização de Código e Packages
Revisão do conceito de tipo de dados abstracto. Organização de código: interface/implementação; separação. Packages. Bibliotecas. Localização de classes: CLASSPATH
. Controlo de acesso: public
, protected
, private
, "package". Exemplos de código. Comparação com outras linguagens.
Organização de código em packages. Exemplo completo. Discussão de aspectos relacionados com a destruição de objectos: o caso do Java (comparação com outras linguagens).
Aulas 07 e 08: Herança e Composição
Herança e composição: diferenças. Quando usar cada uma. Discussão de aspectos relacionados com a modelação utilizando estes conceitos. Exemplos simples: classe Gato como subclasse de MamÃfero; composição de um Gato a partir de "peças básicas".
Mecanismos para controlo de utilização de atributos e métodos. A palavra chave final (Java). Uso de private, protected e public (Java). Discussão de aspectos relativos ao uso destas palavras chave. Apresentação e discussão de exemplo completo: classes Evento, RefeiçãoComSopa, Almoço, Jantar, Sopa e Bolo. Discussão sobre o funcionamento das referências this e super. Exemplo prático no contexto da aplicação Evento.