Programação Orientada a Objetos

Código:
15395
Ano:
2
Semestre:
S1
Créditos ECTS:
6
Carga Horária:
T(30H)/TP(30H)
Área Científica:
Sistemas e Computadores
Tipo de ensino:
Presencial
Estágios:
Não aplicável.
Objectivos de Aprendizagem:
Esta Unidade Curricular tem como objetivo a aprendizagem dos conceitos fundamentais da Programação Orientada a Objetos e a introdução às correspondentes metodologias e técnicas de desenvolvimento de programas/aplicações.
No final o aluno deve ser capaz de entender e aplicar os princípios e técnicas da Programação Orientada a Objetos e de desenvolver programas numa linguagem Orientada a Objetos (e.g. Java).
O aluno deve ficar a perceber os conceitos de objeto, classe e instanciação de objectos. O aluno deve ficar a conhecer os conceitos de hierarquias de classes e interfaces, os diferentes tipos de relações entre objectos, os conceitos de polimorfismo e programação genérica.
Deverá ser capaz de construir pequenos programas, aplicando os conceitos enumerados acima.
O aluno deverá perceber os princípios da Análise e Projeto Orientados a Objetos. No final deverá ser capaz de implementar um projeto onde aplicará de forma integrada os conceitos apreendidos ao longo da UC.
Conteúdos programáticos:
1 - Caraterísticas da Programação Orientada a Objetos.
2 - Linguagens Baseadas em Classes. (Classes e instanciação de objetos).
3 - Composição de classes.
4 - O Mecanismo de herança.
5 - Polimorfismo.
6 - Classes Abstratas e Interfaces.
7 - Exceções.
8 - Funções e tipos genéricos. Funções anónimas.
9 - Gestão de Eventos e interatividade.
10 - Linguagens e ambientes de desenvolvimento; análise, projeto e implementação orientada a objetos.
Bibliografia principal:
JAVA8 – POO + Construções Funcionais, F. Mário Martins, FCA, 2017.
Projetos de POO em JAVA, F. Mário Martins, FCA, 2014.
Thinking in Java, 4 th Edition, Bruce Eckel, 2005.
Língua:
Português