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

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...")
(No difference)

Revision as of 12: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

Exercício 2

Exercício 3

Resoluções