|
|
(273 intermediate revisions by the same user not shown) |
Line 1: |
Line 1: |
| 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.
| | #REDIRECT [[ist:Programação com Objectos]] |
| | |
| == Aula 01: Apresentação da Disciplina ==
| |
| | |
| Apresentação da disciplina: objectivos gerais; objectivos operacionais; programa; avaliação.
| |
| | |
| Informação adicional pode ser obtida na [https://fenix.ist.utl.pt/publico/viewSiteExecutionCourse.do?method=firstPage&objectCode=43084 página oficial] (Fénix).
| |
| | |
| == Aula 02: Introdução ==
| |
| | |
| ===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 ==
| |
| | |
| 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 <code>equals</code>. ''[[Conversão de Tipos|Casts]]''. Restrições à s operações sobre booleanos. [[PO 2005/06: Exemplos da Aula 03|Exemplos de aplicações simples]]: atribuição; comparador; conversão para <code>Strings</code>.
| |
| | |
| == 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 (<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++).
| |
| | |
| ===Destruição de objectos===
| |
| | |
| Discussão de aspectos relacionados com a destruição de objectos: o caso do Java ([[Comparação de Linguagens de Programação|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===
| |
| * ''Packages'' e bibliotecas;
| |
| * Localização de classes: <code>CLASSPATH</code>.
| |
| * Controlo de acesso: <code>public</code>, <code>protected</code>, <code>private</code>, ''"package"''.
| |
| * [[Comparação de Linguagens de Programação|Comparação com outras linguagens]].
| |
| | |
| ===Exemplos===
| |
| | |
| * [[PO 2005/06: Exemplos da Aula 05|Exemplos de código]];
| |
| * [[PO 2005/06: Exemplos da Aula 06|Exemplo completo]].
| |
| | |
| == 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: [[PO 2005/06: Exemplos da Aula 07|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)|final]] (Java). Uso de private, protected e public (Java). Discussão de aspectos relativos ao uso destas palavras chave. [[PO 2005/06: Exemplos da Aula 08|Apresentação e discussão de exemplo completo]]: classes Evento, RefeiçãoComSopa, Almoço, Jantar, Sopa e Bolo. Discussão sobre o funcionamento das [[As referências this e super (Java)|referências this e super]]. Exemplo prático no contexto da aplicação Evento.
| |
| | |
| | |
| [[category:OOP]]
| |
| [[category:Aulas]]
| |