Programação com Objectos: Difference between revisions

From Wiki**3

No edit summary
(Redirected page to ist:Programação com Objectos)
 
(280 intermediate revisions by the same user not shown)
Line 1: Line 1:
== Aula 01: Apresentação da Disciplina ==
#REDIRECT [[ist:Programação com Objectos]]
 
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 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>. 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"''.
 
== 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 em Java. Múltiplos construtores e chamadas a construtores. Ordem de iniciação de atributos de classes (<code>static</code>) e de objectos. ''[[Overloading]]'' de métodos. A referência <code>this</code>. [[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'' ==
 
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: <code>CLASSPATH</code>. Controlo de acesso: <code>public</code>, <code>protected</code>, <code>private</code>, ''"package"''. [[PO 2005/06: Exemplos da Aula 05|Exemplos de código]]. [[Comparação de Linguagens de Programação|Comparação com outras linguagens]].
 
Organização de código em ''packages''. [[PO 2005/06: Exemplos da Aula 06|Exemplo completo]]. 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]]).
 
== 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.

Latest revision as of 17:30, 7 November 2018