Material Pedagógico
Conjunto de slides usados na aulas teóricas da UC no ano letivo 2024/2025
Aula 1
Introdução
Módulos
Tipos Abstractos de Dados
Metodologia
Aula 2
Objecto
Estado, Comportamento e Identidade
Encapsulamento
Mensagens
Classe
Modelo de execução dos métodos
Aula 3
Diagrama Classes UML (atributos e operações)
Relações entre classes (associação vs composição)
Método clone e encapsulamento
Aula 4
Método equals
Método toString
Variáveis e métodos de classe
Estrutura de uma classe
Aula 5
Estruturas de Dados
GrowingArray
Colecções
Framework das Colecções
A API de Collection
ArrayList
List
Aula 6
Iteradores externos
Iterator
Iteradores internos
Expressões Lambda
Streams
Colecções e Maps
Set (HashSet e TreeSet)
compareTo()
Aula 7
TreeSet
Comparator
Interfaces (Comparable e Comparator)
Criação de estruturas ordenadas
Map
Exemplos
Aula 8
Hierarquia de Classes e Herança
Diagrama de classe com herança
O mecanismo de herança
Criação das instâncias das subclasses
Redefinição variáveis e métodos
Modificadores e redefinição de métodos
Aula 9
Compatibilidade entre classes e subclasses
Polimorfismo
Classes Abstractas
Herança vs Composição
Aula 10
Notação do Diagrama de Classe UML
Interfaces (elementos e hierarquia)
Default Methods
Métodos static em interfaces
Classes abstractas e interfaces
O package java.util.function
Predicate
Function
Consumer
Supplier
Tipos Parametrizados
Aula 11
Tratamento de Erros
Excepções (criar, tipos e uso)
Try e Catch
A classe Files
O padrão Facade
O padrão Strategy
Model, View, Controller
Aula 12
Múltiplas Views
O padrão Observer
Aula 13
Princípios/regras
Regra: Single responsability
Regra: Encapsulation
Regra: Most qualified class
Regra: Low coupling
Regra: Transparency
Regra: Open/Closed
O Princípio da Substituição Liskov
Regra: Abstraction
Regra: Don’t repeat yoursel
Regra: Model-view-controller