Programação Orientada pelos Objetos

Objectivos

Saber:

  • Conceitos fundamentais de Programação Orientada pelos Objetos (POO), como o de classe, interface, polimorfia e herança.
  • Técnicas e algoritmos para o processamento de listas, cadeias de carateres, vetores, dicionários e conjuntos, etc.
  • Programação genérica.
  • Bibliotecas de classes e sua utilização.
  • Conceitos básicos de Engenharia de Software na perspetiva de um programador, como a qualidade, reutilização, custos e manutenção, ou eficiência de implementações.

Saber fazer:

  • Projetar e Desenvolver aplicações com POO.
  • Resolver problemas com POO.
  • Usar abordagens de verificação e validação.
  • Realizar de forma progressivamente mais autónoma, individualmente e em grupo, projetos de desenvolvimento de software.

Competências Complementares:

  • Gosto pela programação e pela resolução de problemas.

Caracterização geral

Código

11153

Créditos

9.0

Professor responsável

Carla Maria Gonçalves Ferreira

Horas

Semanais - 5

Totais - 60

Idioma de ensino

Português

Pré-requisitos

A disponibilizar brevemente

Bibliografia

1. Cay Horstmann, Java Concepts: for Java 7 and 8, Sixth Edition, Wiley, 2010.

2. F. Mário Martins, Java 8 - POO + Construções Funcionais, FCA, 2017.

3. Slides de Programação Orientada pelos Objectos (disponibilizados gradualmente na página moodle)

4. David J. Eck, Introduction to Programming Using Java, Seventh edition, 2016.

Método de ensino

A disponibilizar brevemente

Método de avaliação

A disponibilizar brevemente

Conteúdo

1. Especificação de interfaces e respetiva documentação
2. Conceção de programas estruturados em classes
3. Polimorfia de interfaces
4. Herança de classes
5. Polimorfia de herança
6. Asserções
7. Testes
8. Tratamento de excepções
9. Programação genérica
10. Utilização de tipos genéricos e colecções

Cursos

Cursos onde a unidade curricular é leccionada: