Plano de Estudos
Programação Por Objetos PObj
Contextos
Groupo: 3_MI 2020/21 > 2º Ciclo > Parte Escolar > Optativas > 892 - Mestrado em Informática - Geral > 1º semestre
Groupo: 3_MI 2020/21 > 2º Ciclo > Parte Escolar > Optativas > 787 - Mestrado em Informática - CTP
ECTS
6.0 (para cálculo da média)
Objectivos
Pretende-se que o aluno adquira os conceitos e as técnicas fundamentais da programação centrada em objetos, com ênfase na abstração em classes concretas e abstratas, interfaces, subtipos, herança, polimorfismo e exceções. Estes conceitos e técnicas são apresentados tendo como linguagem de programação base o Java.
Programa
- Noção de classe e objeto no paradigma orientado-a-objetos, instanciados na linguagem de programação Java. - Herança de tipos, polimorfismo, exceções e tipos genéricos. - Introdução à modelação e desenho de classes usando UML. - Desenho por contrato: noções de pré-condição, pós-condição e invariante de classe. Herança de classes e o princípio de substituição de Liskov. - Técnicas para redefinição dos métodos da classe Object (equals, hashcode, toString) - Uso de componentes da Java API: "collections framework", interface Comparable, input/output, reflexão, serialização.
Método de Avaliação
Trabalhos práticos de programação e Exame final
Carga Horária
Carga Horária de Contacto -
Trabalho Autónomo - 119.0
Carga Total -
Bibliografia
Principal
- The Java Language Specification, Java SE 8 Edition (online) : J. Gosling et al. 2015 online
- "Effective Java", 3rd edition: Joshua Bloch 2018 ISBN: 9780134686097
- Programação Centrada em Objetos: Isabel Nunes 2019 (revisto e aumentado em 2021) e-book