Programação com Objectos/Aula Prática 13: Difference between revisions

From Wiki**3

< Programação com Objectos
 
(9 intermediate revisions by the same user not shown)
Line 1: Line 1:
== Tópicos ==
#REDIRECT [[ist:Programação com Objectos/Aula Prática 13]]
 
* Diagramas de sequência UML
 
== Exercício 1 ==
 
Desenhe o diagrama de sequência UML correspondente à execução do programa abaixo, incluindo as etapas de criação dos objectos. O diagrama de sequência deve conter os nomes das mensagens trocadas (não é necessário representar os argumentos dessas mensagens nem as correspondentes ao retorno).
 
<java5>
import java.util.ArrayList;
abstract class Printable {
  public abstract String show();
  public void add(Printable p) { throw new UnsupportedOperationException(); }
}
class Paragraph extends Printable {
  public String show() { return "[paragraph]"; }
}
class Image extends Printable {
  public String show() { return "[image]"; }
}
class Album extends Printable {
  public ArrayList<Printable> _printables = new ArrayList<Printable>();
  public void add(Printable p) { _printables.add(p); }
  public String show() {
    String s = "[";
    for (Printable p: _printables) s += p.show();
      s += "]";
      return s;
    }
}
class Page extends Album {}
class Book extends Album {}
public class App {
  public static void main(String args[]) {
    Page page1 = new Page();
    page1.add(new Paragraph());
    page1.add(new Image());
    Page page2 = new Page();
    page2.add(new Paragraph());
    page2.add(new Image());
    Book book = new Book();
    book.add(page1);
    book.add(page2);
    System.out.println(book.show());
  }
}
</java5>
 
* [[Programação_com_Objectos/Teste_de_2009/01/24#2.7. Diagrama de sequência (UML)|resolução]] - procurar resolver antes de consultar
 
== Exercício 2 ==
 
== Exercício 3 ==
 
== Resoluções ==
 
[[category:Ensino]]
[[category:PO]]
[[category:Aulas Práticas de PO]]

Latest revision as of 13:50, 7 November 2018