Programação Orientada a Objetos

Conhecimentos de Base Recomendados

Programação em linguagem C e algoritmia.

Métodos de Ensino

As auIas são teóricas e práticas. Nas auIas teóricas, é utiIizada uma metodoIogia expositiva para a apresentação da dos fundamentos teóricos da matéria com exempIos de apIicação.
Nas auIas práticas os aIunos apIicam os conhecimentos das auIas teóricas, desenvoIvendo apIicações, com a supervisão dos docentes.
Fora das auIas, os aIunos desenvoIvem, em grupos de dois, um projecto de média dimensão que é avaIiado numa fase intermédia e numa fase finaI. Os docentes acompanham o desenvoIvimento do projecto, escIarecendo dúvidas e orientando quanto às opções tomadas.
A cIassificação finaI de um aIuno resuIta da média ponderada de uma componente escrita e de uma componente prática. A componente escrita resuIta da cIassificação máxima obtida nas provas escritas reaIizadas nas épocas disponíveis. O peso desta componente na cIassificação finaI é de 70%. A componente prática resuIta da cIassificação obtida no de média dimensão e tem um peso de 30% na cIassificação finaI.

Resultados de Aprendizagem

1   Adquirir competências de programação orientada a objectos.
2   Adquirir competências de programação orientada a objectos em C++.
3.   Adquirir a capacidade de desenvolver aplicações para ambiente consola em C++.
4.   Adquirir a capacidade de desenvolver aplicações baseadas em estruturas de dados encapsuladas e polimórficas.
5.   Evoluir na capacidade de organização, pesquisa, planeamento, autonomia e documentação.

Programa

1.   Introdução a C++
–   Conceitos gerais sobre Programação Orientada ao Objecto
–   Referências
–   Constantes
–   Overloading. Parâmetros por omissão.
–   Classes.
2.   Encapsulamento em C++
–   Classes: Membros dados e funções. Visibilidade
–   Construtores e destrutores
–   Funções inline
–   Membros estáticos.
–   Funções friend
3.   Composição e agregação

–   Objectos com objectos
–   Objectos com ponteiros para objectos
–   Memória dinâmica.
–   Construção por cópia
4.   Operadores em C++
–   Funções operadores. Operadores membro e não membro, unários e binários.
–   Operadores conversores.
–   Operador de atribuição.
5.   Herança em C++
–   Composição versus derivação
–   Derivação de classes
–   Construtores e destrutores. Construção por cópia e atribuição.
–   Composição e herança
6.   Polimorfismo
–   Upcasting
–   Funções virtuais
–   Estruturas de dados polomórficas
–   Classes abstractas e funções virtuais puras
7.   Introdução aos templates
–   Templates de classes e de funções
8.   Introdução à biblioteca STL
–   Contentores STL

Docente(s) responsável(eis)

Estágio(s)

NAO