Conhecimentos de Base Recomendados
N/A
Métodos de Ensino
Não disponível.
Resultados de Aprendizagem
Espera-se que no final da unidade curricular o aluno esteja habilitado a:
1. Identificar os conceitos básicos de Programação Orientada a Objetos (POO): objetos, classes, polimorfismo e herança;
2. Implementar e gerir estruturas de dados estáticos (tabelas uni e multi-dimensionais) e dinâmicos (java collections, nomeadamente arrays, vetores e dicionários);
3. Utilizar estruturas de memória persistente: ficheiros (binários, texto e objetos);
4. Planear, desenvolver e testar programas usando a linguagem Java.
Programa
1. Introdução à linguagem Java;
Estrutura e sintaxe da linguagem Java; Estrutura de classes e métodos; Tipos de dados; Controlo de fluxo; Passagem de parâmetros por cópia e por referência; Saída de e entrada de dados (Scanner); Interacção com o utilizador; Bibliotecas Java; API Java;
2. Programação Orientada a Objetos (POO): Classes e Objetos;
Criação e instanciação de objectos; Comunicação entre objectos; Passagem de objectos por parâmetro (cópia da referência e cópia do valor); Construtores; Modificadores de visibilidade; Variáveis e métodos de instancia e de classe;
Página 2 de 3
3. Tratamento de Exceções;
Tipos e tratamento de Excepções; Lançamento de excepções; Hierarquia de Excepções;
4. Estruturas de dados estáticas: Tabelas Unidimensionais e Multidimensionais;
Criação de tabelas; Dimensão e índices das tabelas; Inicialização de tabelas; Copia de tabelas; Passagem de tabelas como parâmetros;
5. Estruturas de dados dinâmicas: Java Collections;
ArrayList, Vector e Hashtable (Dicionários); Pesquisa e iteração de estruturas de dados; Collection Framework; Tipos de Collections: Set, List, Map, SortedSet, SortedMap; Implementações de collections; Interface Comparable e Comparator; Ordenamento de estruturas;
6. Ficheiros: Texto, Binários e de Objetos; Java Properties;
Leitura de dados a partir de dispositivos de entrada; Fluxo de dados; Streams; Acesso a ficheiros e directorias; Manipulação (leitura e escrita) de ficheiros de Texto, Binários e de Objectos;
7. Programação Orientada a Objetos (POO): Herança e Polimorfismo;
Introdução ao conceito da Hereditariedade; SubClasses e SuperClasses; Modificadores de visibilidade Redefinição de métodos herdados (method overriding); Hierarquia de Classes; Referência polimórfica.
Estágio(s)
NAO
Bibliografia
Flanagan, D. , & Evans, B. (2019). Java in a nutshell – A desktop quick reference (7.ª ed). O’Reilly.
Jesus, C. (2013). Curso prático de java. FCA.
Martins, F. (2017). Java 8 – POO + construções funcionais. FCA.
Martins, F. (2014). Projectos de POO em java. FCA.
Urma, R., Fusco, M., & Mycroft, A. (2018). Modern java in action – Lambdas, streams, functional and reactive programming. Manning.