0
Design Patterns<br />
Padrão Composto<br />Permite que você componha objetos em estrutura de árvore para representar hierarquias parte-todo.  <b...
Estrutura Árvore<br />
public abstract classMenuCompostopublicvoid adicionar(MenuCompostomenuComposto)thrownewUnsupportedOperationException();pub...
public class Menu extends MenuComposto {<br />ArrayList<MenuComposto> menuCompostos = newArr.....<br />	String nome;<br />...
Menu<br />Composto<br />Menu<br />Menu<br />Menu Item<br />Menu Item<br />Menu Item<br />Menu Item<br />
public class MenuItem extends MenuComposto{<br />String nome;<br />String descricao;<br />booleanisVegetariano;<br />doubl...
publicclassGarconete {<br />MenuCompostotodosMenus;<br />publicGarconete(MenuCompostomenuCompos) <br />this.todosMenus= me...
publicclassTestMenuComposto{<br />	public static void main(String[] args) {<br />MenuCompostomenuRod = new Menu("Menu do R...
Todos menus ,  uma perfeita combinação .<br />______________<br />Menu do Rod , Cafézinho<br />______________<br />Macarra...
 Obrigado !<br />
Upcoming SlideShare
Loading in...5
×

Padrão Composto

677

Published on

Published in: Business, Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
677
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
8
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "Padrão Composto"

  1. 1. Design Patterns<br />
  2. 2. Padrão Composto<br />Permite que você componha objetos em estrutura de árvore para representar hierarquias parte-todo. <br />Com este padrão, os clientes podem tratar objetos individuais ou composições de objetos de maneira uniforme.<br />
  3. 3. Estrutura Árvore<br />
  4. 4. public abstract classMenuCompostopublicvoid adicionar(MenuCompostomenuComposto)thrownewUnsupportedOperationException();publicvoid remover(MenuCompostomenuComposto)thrownewUnsupportedOperationException();publicMenuCompostogetFilho(int i)thrownewUnsupportedOperationException();public String getNome()thrownewUnsupportedOperationException();public String getDescricao()thrownewUnsupportedOperationException();publicdoublegetPreco()thrownewUnsupportedOperationException();publicbooleanisVegetariano()thrownewUnsupportedOperationException();publicvoid imprimir()thrownewUnsupportedOperationException();<br />
  5. 5. public class Menu extends MenuComposto {<br />ArrayList<MenuComposto> menuCompostos = newArr.....<br /> String nome;<br /> String descricao;<br /> public Menu(String nome, String descricao) <br />this.nome = nome;<br />this.descricao = descricao;<br /> // Implementação dos métodos do MenuComposto.....<br /> @Override<br />publicvoid imprimir() {<br /> System.out.print("n" + getNome());<br /> System.out.println(" , " + getDescricao());<br /> System.out.println("______________");<br />Iterator<MenuComposto> iterator = menuCompostos.iterator();<br />while(iterator.hasNext()){<br />MenuCompostomenuComposto = iterator.next();<br />menuComposto.imprimir();<br />
  6. 6. Menu<br />Composto<br />Menu<br />Menu<br />Menu Item<br />Menu Item<br />Menu Item<br />Menu Item<br />
  7. 7. public class MenuItem extends MenuComposto{<br />String nome;<br />String descricao;<br />booleanisVegetariano;<br />doublepreco;<br />publicMenuItem(String nome, String desc, booleanisVeg, doublepreco) <br />this.nome = nome;<br />this.descricao= .................<br /> @Override<br />publicvoid imprimir() <br /> System.out.print(" " + getNome());<br />If(this.isVegetariano()){<br /> System.out.print(" (V) ");<br /> System.out.println(" , " + getPreco());<br /> System.out.println("- " + getDescricao());<br />
  8. 8. publicclassGarconete {<br />MenuCompostotodosMenus;<br />publicGarconete(MenuCompostomenuCompos) <br />this.todosMenus= menuCompos;<br />publicvoid imprimir()<br />todosMenus.imprimir();<br />
  9. 9. publicclassTestMenuComposto{<br /> public static void main(String[] args) {<br />MenuCompostomenuRod = new Menu("Menu do Rod", "Cafézinho");<br />MenuCompostomenuDouglas = new Menu("Menu do Douglas", "Cafézão");<br />MenuCompostomenuDoBolha = new Menu("Menu do Bolha", "Lixo");<br />MenuCompostomenuDoChina = new Menu("Menu do China", "Ehmmmmmmm....");<br />MenuCompostotodosMenus = new Menu("Todos menus", " uma perfeita combinação .");<br />todosMenus.adicionar(menuRod);<br />todosMenus.adicionar(menuDouglas);<br />todosMenus.adicionar(menuDoBolha);<br />todosMenus.adicionar(menuDoChina);<br />menuRod.adicionar(newMenuItem("Macarrao", "Uma deliciosa macarronada", false, 5.99));<br />menuRod.adicionar(newMenuItem("MacarraoII", "Uma deliciosa macarrona com molho dobro", false, 8.99));<br />menuDouglas.adicionar(newMenuItem("Café", "Maravilhoso", false, 4.33));<br />menuDouglas.adicionar(newMenuItem("CaféII", "MaravilhosoII", false, 5.33));<br />menuDoBolha.adicionar(newMenuItem("Frutas", "Saudaveis", true, 3.38));<br />menuDoBolha.adicionar(newMenuItem("FrutasII", "SaudaveisII", true, 7.38));<br />menuDoChina.adicionar(newMenuItem("Leite Desnatado", "Fresco", false, 3.69));<br />menuDoChina.adicionar(newMenuItem("Leite DesnatadoII", "FrescoII", false, 4.69));<br />Garconetegarconete = newGarconete(todosMenus);<br />garconete.imprimir();<br />
  10. 10. Todos menus , uma perfeita combinação .<br />______________<br />Menu do Rod , Cafézinho<br />______________<br />Macarrao , 5.99<br /> - Uma deliciosa macarronada<br />MacarraoII , 8.99<br /> - Uma deliciosa macarronada com molho em dobro<br />Menu do Douglas , Cafézão<br />______________<br />Café , 4.33<br /> - Maravilhoso<br />CaféII , 5.33 <br /> - MaravilhosoII<br />Menu do Bolha , Lixo<br />______________<br />Frutas (V) , 3.38<br /> - Saudaveis<br />FrutasII (V) , 7.38<br /> - SaudaveisII<br />Menu do China , Ehmmmmmmm....<br />______________<br />Leite Desnatado , 3.69<br /> - Fresco<br />Leite DesnatadoII , 4.69<br /> - FrescoII<br />
  11. 11. Obrigado !<br />
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×