Difference between revisions of "Programação com Objectos"

From Wiki**3

(Aula 02: Introdução)
(Aula 02: Introdução)
Line 9: Line 9:
 
== Aula 02: Introdução ==
 
== Aula 02: Introdução ==
  
Introdução aos objectos e à programação em Java. [[O que é um objecto?|O que é um objecto]]; aspectos da captura de características. [[Tipos primitivos em Java|Tipos primitivos]], [[Classes, objectos e referências (Java)|objectos e referências em Java]]; [[Comparação de Linguagens de Programação|contraste com C/C++]]; organização da memória. [[Classes, objectos e referências (Java)|Definição de classes simples]]: conceitos de variável e método. O uso da palavra reservada <code>static</code> (Java). [[Convenções de escrita de programas em Java]]. Escrita e compilação de programas; [[PO 2005/06: Exemplos da Aula 02|exemplo simples]]: ''"Hello world"''.
+
===Introdução aos objectos===
 +
* [[O que é um objecto?|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 em Java|Tipos primitivos]]: dados atómicos simples;
 +
* [[Classes, objectos e referências (Java)|Objectos e referências em Java]]: referências e estruturas compostas;
 +
* [[Comparação de Linguagens de Programação|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;
 +
* [[Classes, objectos e referências (Java)|Definição de classes simples]]: conceitos de variável e método;
 +
* O uso da palavra reservada <code>static</code>: 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===
 +
[[PO 2005/06: Exemplos da Aula 02|Exemplo simples]]: ''"Hello world"''.
  
 
== Aula 03: Operadores, Expressões e Controlo de Fluxo ==
 
== Aula 03: Operadores, Expressões e Controlo de Fluxo ==

Revision as of 00:22, 28 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

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 em Java. Múltiplos construtores e chamadas a construtores. Ordem de iniciação de atributos de classes (static) e de objectos. Overloading de métodos. A referência this. 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.