|     |     | 
| (10 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]]
 |  |