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

From Wiki**3

(Máquina Virtual para Desenvolvimento)
(Pautas)
 
(70 intermediate revisions by the same user not shown)
Line 3: Line 3:
 
<!-- {{TOCright}} -->
 
<!-- {{TOCright}} -->
 
<!-- __NOEDITSECTION__ -->
 
<!-- __NOEDITSECTION__ -->
 +
{{Suggestion|https://bit.ly/po-wiki}}
 
== Tópicos Teóricos e Práticos ==
 
== Tópicos Teóricos e Práticos ==
  
 
* [[Tópicos sobre Programação com Objectos]] (teoria e prática)
 
* [[Tópicos sobre Programação com Objectos]] (teoria e prática)
  
== Testes de Avaliação (por data)  ==
+
== Projecto ==
  
[[Programação com Objectos/Teste de 2013/11/15|20131115]] [[Programação com Objectos/Teste 1 de 2013/02/04|20130204 (1)]] [[Programação com Objectos/Teste 2 de 2013/02/04|20130204 (2)]] [[Programação com Objectos/Teste de 2013/01/17|20130117]] [[Programação com Objectos/Teste de 2012/11/19|20121119]]  
+
* [[Programação com Objectos/Projecto de Programação com Objectos|Projecto de Programação com Objectos]] -- informação sobre todos os aspectos do projecto
  
[[Programação com Objectos/Teste de 2012/01/30|20120130]] [[Programação com Objectos/Teste de 2012/01/07|20120107]] [[Programação com Objectos/Teste de 2011/01/10|20110110]] [[Programação com Objectos/Teste de 2010/01/21|20100121]] [[Programação com Objectos/Teste de 2010/01/04|20100104]]  [[Programação com Objectos/Teste de 2009/01/24|20090124]] [[Programação com Objectos/Teste de Dezembro de 2008|200812]] [[Programação com Objectos/Teste de Dezembro de 2005|200512]]
+
== Aulas Práticas ==
  
= Programação =
+
Plano das aulas: https://bit.ly/po23-plano
== Projecto: Aplicação Bancária (exemplo de projecto) ==
 
  
O projecto a desenvolver é semelhante à aplicação bancária descrita na seguinte página:
+
* Semana 1.1: [[Programação com Objectos/Aula Prática 01|Aula Prática 01]] - Tipos de dados abstractos em C e em C++
* [[Comando (padrão de desenho)/Banco, Conta, Titular (aplicação bancaria)|Banco, Conta, Titular (aplicação bancaria)]]
+
* Semana 1.2: [[Programação com Objectos/Aula Prática 02|Aula Prática 02]] - Processos de análise e modelação; criação de classes simples
 +
* Semana 2.1: [[Programação com Objectos/Aula Prática 03|Aula Prática 03]] - Criação de objectos, herança, polimorfismo, overloading e overriding (métodos)
 +
* Semana 2.2: [[Programação com Objectos/Aula Prática 04|Aula Prática 04]] - Herança, polimorfismo, aspectos de programação OO
 +
* Semana 3.1: [[Programação com Objectos/Aula Prática 05|Aula Prática 05]] - Polimorfismo: interfaces e classes abstractas
 +
* Semana 3.2: [[Programação com Objectos/Aula Prática 06|Aula Prática 06]] - Java: classes internas; comparadores, iteradores
 +
* Semana 4.1: [[Programação com Objectos/Aula Prática 07|Aula Prática 07]] - Java: excepções; colecções
 +
* Semana 4.2: [[Programação com Objectos/Aula Prática 08|Aula Prática 08]] - Java: entradas e saídas; serialização de objectos
 +
* Semana 5.1: [[Programação com Objectos/Aula Prática 09|Aula Prática 09]] - Composite (padrão de desenho)
 +
* Semana 5.2: [[Programação com Objectos/Aula Prática 10|Aula Prática 10]] - Strategy (padrão de desenho) & State (padrão de desenho)
 +
* Semana 6.1: [[Programação com Objectos/Aula Prática 11|Aula Prática 11]] - Visitor (padrão de desenho)
 +
* Semana 6.2: [[Programação com Objectos/Aula Prática 12|Aula Prática 12]] - Decorator (padrão de desenho) & Adapter (padrão de desenho)
 +
* Semana 7.1: [[Programação com Objectos/Aula Prática 13|Aula Prática 13]] - Diagramas de sequência UML
  
A seguinte página descreve o padrão Command (Comando), que está subjacente à estrutura da interacção textual da aplicação.
+
== Pautas ==
* [[Comando (padrão_de_desenho)]]
+
As páginas das pautas contêm, além dos resultados de avaliação, também os critérios de avaliação e aprovação.
 +
* {{PautaAberta}} [[Programação com Objectos/Pautas 2023-2024|Pautas 2023-2024]]
 +
* {{PautaFechada}} Pautas de anos anteriores: [[Programação com Objectos/Pautas 2022-2023|2022-2023]] [[Programação com Objectos/Pautas 2021-2022|2021-2022]] [[Programação com Objectos/Pautas 2020-2021|2020-2021]] [[Programação com Objectos/Pautas 2019-2020|2019-2020]] [[Programação com Objectos/Pautas 2018-2019|2018-2019]] [[Programação com Objectos/Pautas 2017-2018|2017-2018]] [[Programação com Objectos/Pautas 2016-2017|2016-2017]] [[Programação com Objectos/Pautas 2015-2016|2015-2016]] [[Programação com Objectos/Pautas 2014-2015|2014-2015]]
  
You may want to read these quick and dirty guides:
+
<!--== Testes de Avaliação (por data) ==
* [[CVS Crash Course]]
 
* [[Quick-and-Dirty Guide to Transforming the Bank Application into your Very Own Project]] (this guide is outdated and is provided only as a general guideline and example of how to start development from existing code: use at your own risk!)
 
  
== koops32: Máquina Virtual para Desenvolvimento ==
+
[[Programação com Objectos/Teste de 2013/11/15|20131115]] [[Programação com Objectos/Teste 1 de 2013/02/04|20130204(1)]] [[Programação com Objectos/Teste 2 de 2013/02/04|20130204(2)]] [[Programação com Objectos/Teste de 2013/01/17|20130117]] [[Programação com Objectos/Teste de 2012/11/19|20121119]]  
 
 
Esta máquina contém o ambiente necessário ao desenvolvimento do projecto, incluindo o material de apoio, e corresponde também ao ambiente de avaliação oficial.
 
* http://susegallery.com/a/tuLZgC/koops32 (arquitectura de 32 bits)
 
 
 
Dados de acesso à máquina: '''oops''' (username), '''linux''' (password)
 
 
 
== Desenvolvimento em Java ==
 
 
 
The Java version in use is 1.7. However, in general, any version from 1.5 should be appropriate.
 
 
 
Information about the [http://www.java.com/ Java] API can be found in the following sites:
 
* [http://docs.oracle.com/javase/7/docs/api/ Java Platform, Standard Edition 7 API Specification]
 
 
 
== Desenvolvimento em C++  ==
 
 
 
*[[Tópicos Rápidos sobre C++]]
 
 
 
Information about [http://cplusplus.com/ C++] and the C++ STL can be found in the following sites:
 
 
 
*[http://cplusplus.com/reference/ Manual de Referência para C++ (biblioteca)] [http://cplusplus.com/reference/stl/ STL (contentores)] [http://cplusplus.com/reference/algorithm/ STL (algoritmos)]
 
*[http://cppreference.com/ Manual de Referência para C/C++]
 
 
 
== Desenvolvimento em PHP ==
 
 
 
[http://php.net/ PHP] is syntactically similar to both Java and C++ and shares many of the features present in these languages.
 
However, variables in PHP is usually untyped (implying dynamic binding).
 
 
 
* [http://www.php.net/manual/en/ PHP manual]
 
* [http://www.php.net/manual/en/funcref.php Function reference]
 
  
 +
[[Programação com Objectos/Teste de 2012/01/30|20120130]] [[Programação com Objectos/Teste de 2012/01/07|20120107]] [[Programação com Objectos/Teste de 2011/01/10|20110110]] [[Programação com Objectos/Teste de 2010/01/21|20100121]] [[Programação com Objectos/Teste de 2010/01/04|20100104]]  [[Programação com Objectos/Teste de 2009/01/24|20090124]] [[Programação com Objectos/Teste de Dezembro de 2008|200812]] [[Programação com Objectos/Teste de Dezembro de 2005|200512]]
 +
-->
 
[[category:Ensino]]
 
[[category:Ensino]]
 
[[category:PO]]
 
[[category:PO]]
 
[[en:Object-Oriented Programming]]
 
[[en:Object-Oriented Programming]]

Latest revision as of 11:15, 28 August 2023

Programação com Objectos
Introduction
Creation and Destruction
Inheritance & Composition
Abstraction & Polymorphism
Code Organization
Java Topics
Inner Classes
Enumerations
Data Structures
Exceptions
Input/Output
RTTI
Other Topics
JUnit Tests
UML Topics
Design Patterns
"Simple" Factory
Composite & Visitor
Command
Strategy & State
Template Method
Observer
Abstract Factory
Decorator & Adapter
Façade (aka Facade)

Tópicos Teóricos e Práticos

Projecto

Aulas Práticas

Plano das aulas: https://bit.ly/po23-plano

Pautas

As páginas das pautas contêm, além dos resultados de avaliação, também os critérios de avaliação e aprovação.