Programação com Objectos/Aula Prática 13: Difference between revisions
From Wiki**3
< Programação com Objectos
(Created page with "== Tópicos == * 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...") |
|||
| Line 47: | Line 47: | ||
</java5> | </java5> | ||
[[Programação_com_Objectos/Teste_de_2009/01/24#2.7. Diagrama de sequência (UML)|resolução]] - procurar resolver antes de consultar | * [[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 2 == | ||
Revision as of 10:16, 1 September 2015
Tópicos
- 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>
- resolução - procurar resolver antes de consultar