Programação Orientada a Objetos

Conhecimentos de Base Recomendados

Ter frequentado a unidade curricular Fundamentos de Programação.

Métodos de Ensino

Nesta unidade curricular são utilizadas as seguintes metodologias de ensino:
– Método expositivo: método explicativo onde fundamentos teóricos e conceito são apresentados pelo professor e discutidos com a turma, seguido de exemplos demonstrativos;
– Método experimental: método activo onde o aluno desenvolve o conhecimento através da resolução problemas e o desenvolvimento de projectos laboratoriais.

Resultados de Aprendizagem

Espera-se que no final da unidade curricular o aluno esteja habilitado a:
– Conhecer os conceitos básicos de Programação Orientada a Objectos (POO): objectos, classes, polimorfismo, herança;
– Modelar e gerir estruturas de dados estáticos e dinâmicos (tabelas, vectores, dicionários e java collections);
– Interagir com estruturas de memória persistente: ficheiros (binários, texto e objectos);
– Seja capaz de estruturar, desenvolver, executar e testar programas usando a linguagem Java.

Programa

Introdução à linguagem Java
– Tipos primitivos
– Arrays de tipos primitivos
– Operadores
– Instruções de controlo de execução

Classes
– Objetos e referências
– Garbage collector
– Construtores
– A palavra chave this
– Construtores que chamam construtores
– Membros static
– Métodos overloaded
– Arrays de objetos
– Classes interiores

Packages
– Organização de componentes
– Especificadores de acesso

Composição e herança
– Composição
– Herança
– Escolher entre composição e derivação
– A palavra-chave super
– A palavra-chave final

Polimorfismo
– Upcasting
– A classe Object
– Classes abstratas
– Interfaces

Colecções
– Principais Interfaces derivados de Collection
– Algumas implementações concretas

Excepções

Ficheiros

Docente(s) responsável(eis)

Álvaro Nuno Ferreira Silva Santos

Métodos de Avaliação

A avaliação, na escala 0..20, será realizada através das seguintes componentes:

Exame escrito (12 valores)
- Prova escrita individual e com consulta limitada
- Incide sobre todos os conteúdos da unidade curricular
- Mínimos: 35%

Trabalho prático (5 valores)
- Grupos de 2 elementos, a comunicar até final de Outubro
- Enunciado disponível na 1ª semana de Novembro
- Data limite de entrega: último dia de aulas
- Mínimos: 35%
- Entrega do trabalho através do Nónio, através de um ficheiro ZIP, contendo o projecto e o relatório técnico (PDF)
- Penalização: 5% por cada hora de atraso
- Defesa obrigatória
- A nota alcançada no trabalho é válida para todas as épocas do ano lectivo atual

Presenças nas aulas (3 valores)
- Por cada aula assistida o aluno acumula 0.2 até um máximo de 3 valores
- Apenas são contabilizadas as presenças a partir da 2a semana de aulas
- Os alunos que usufruem de um estatuto que os isenta das presenças nas aulas (ex: trabalhador-estudante) poderão obter os 3 valores através da realização de um teste no final do semestre
- Estes alunos, ao iniciar a realização do teste adicional, abdicam imediatamente de qualquer valorização obtida pela assistência às aulas
- Esta componente não é sujeita a nota mínima.


    Estágio(s)

    NAO

    Bibliografia

    Martins, F. M. (2017). Java 8: POO + construções funcionais. FCA. ISBN 9789727228386

    Jesus, C. (2013). Curso prático de Java. FCA. ISBN 9789727227501

    Martins, F. M. (2014). Projectos de POO em Java. FCA. ISBN 9789727227921

    Flanagan, D. (2014). Java in a nutshell: A desktop quick reference (6.ª ed.). O’Reilly. ISBN 1449370829