(→Aula 02: Introdução) |
(→Aula 02: Introdução) |
||
Line 9: | Line 9: | ||
== Aula 02: Introdução == | == Aula 02: Introdução == | ||
− | Introdução aos objectos | + | ===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 == |
A definição oficial do conteúdo de cada aula pode ser encontrada na página dos sumários mantida pelo Fénix.
Apresentação da disciplina: objectivos gerais; objectivos operacionais; programa; avaliação.
Informação adicional pode ser obtida na página oficial (Fénix).
static
: definição de dados e funções partilhados;Exemplo simples: "Hello world".
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
.
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++).
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).
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.