Matéria

O primeiro teste de Programação com Objectos incide sobre o paradigma de programação com objectos e na linguagem de programação Java.

A matéria deste teste inclui os seguintes tópicos:

  • O paradigma de programação com Objectos, o que inclui polimorfismo, herança, encapsulação, ...
  • Os princípios de programação dados nas aulas teóricas: aberto-fechado, programar para uma interface, ...
  • A sintaxe e semântica da linguagem de programação Java.
  • A matéria leccionada inclui os seguintes capítulos do livro da cadeira:
Relativamente ao livro da cadeira (Head First Java, Kathy Sierra, Bert Bates, O'Reilly. ISBN 0596009208 (2ª Ed.)), a matéria leccionada (não leccionada obrigatoriamente por esta ordem) inclui a matéria dos seguintes capítulos:
  • Chapter 2: Classes and Objects: A Trip to Objectville
  • Chapter 3: Primitives and References: Know Your Variables
  • Chapter 4: Methods Use Instance Variables: How Objects Behave
  • Chapter 5: Writing a Program: Extra-Strength Methods
  • Chapter 6: Get to Know the Java API: Using the Java Library
  • Chapter 7: Inheritance and Polymorphism: Better Living in Objectville
  • Chapter 8: Interfaces and Abstract Classes: Serious Polymorphism
  • Chapter 9: Constructors and Garbage Collection: Life and Death of an Object
  • Chapter 10: Numbers and Statics: Numbers Matter
  • Chapter 11: Exception Handling: Risky Behavior
  • Chapter 14: Serialization and File I/O: Saving Objects
  • Chapter 16: Collections and Generics: Data structures
  • Chapter 17: Package, Jars and Deployment: Release Your Code
Os alunos devem saber especificar classes, com métodos e atributos. Devem saber utilizar as estruturas de dados já oferecidas pela linguagem e biblioteca do Java para guardar conjuntos de objectos. Um conjunto de objectos pode ser guardado num array, mas caso o número de elementos a guardar não seja conhecido no momento da criação, então esta estrutura de objectos não é muito vantajosa. Neste caso, o melhor é utilizar uma das várias classes da biblioteca do Java que permitem guardar coleções de objectos: ArrayList, LinkedList, HashMap, HashSet, ... . A classe a utilizar depende das características de acesso ao conjunto de objectos. Depois é necessário saber iterar sobe o conjunto de objectos. Pode-se utilizar um Iterator, ou então utilizar o ciclo foreach (que tem a vantagem que também funciona para vectores). É uma boa prática de programação nunca utilizar um ciclo for (começando na posição 0 e terminado na última posição da coleção) para iterar o conteúdo de uma coleção porque este forma de iteração normalmente não é eficiente, ao contrário do ciclo foreach ou da utilização de um Iterator.

Estrutura Tipo do Teste

A estrutura do 1º teste é a seguinte:

  • Um problema de modelação, a concretizar utilizando o diagrama UML de classes (sem programação) - 3 valores;
  • Um problema de programação em Java. do mesmo tipo dos realizados nas aulas de laboratório - 1 valor;
  • Duas perguntas de resposta aberta ("teóricas") sobre aspectos relativos à programação OO e/ou modelação - 3 valores;
  • 5 perguntas de resposta múltipla sobre programação OO, Java e modelação (diagramas UML de classes) - 3 valores.

Enunciado do 1º Teste


teste1-201711221830.pdf

Enunciados de Anos Anteriores


 2016/17: teste1B-201601301000.pdf  2015/16Teste1-2015.pdf

 2014/15: Teste 1

 2013/14: Teste 1 (resolução parcial,)