<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                ## 1. 什么是組合設計模式 ## 2. 怎么使用組合設計模式 ## 3. 代碼 public interface Iterator { public boolean hasNext(); public Object next(); } public class MenuItem { private String name; private int price; private boolean vegetarian; private String description; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getPrice() { return price; } public void setPrice(int price) { this.price = price; } public boolean isVegetarian() { return vegetarian; } public void setVegetarian(boolean vegetarian) { this.vegetarian = vegetarian; } public String getDescription() { return description; } public void setDescription(String description) { this.description = description; } public MenuItem(String name, int price, boolean vegetarian, String description) { this.name = name; this.price = price; this.vegetarian = vegetarian; this.description = description; } } public class DinerMenuIterator implements Iterator{ MenuItem[] items; int position= 0; public DinerMenuIterator( MenuItem[] items){ this.items = items; } @Override public boolean hasNext() { if(position>items.length ||items[position]==null) { return false; }else{ return true; } } @Override public Object next() { MenuItem menuItem = items[position]; position+=1; return menuItem; } } public class DinerMenu implements Iterator{ static final int MAX_VALUE = 6; int numberOfItems = 0; MenuItem[] menuItems; public DinerMenu(){ menuItems = new MenuItem[MAX_VALUE]; } public void addItem(String name,String description,int price,boolean vegetarica){ MenuItem item = new MenuItem(name,price,vegetarica,description); if(numberOfItems >= MAX_VALUE){ System.out.println("Sorry menu is full"); }else{ menuItems[numberOfItems] = item; numberOfItems = numberOfItems+1; } } public MenuItem[] getMenuItems() { return menuItems; } @Override public boolean hasNext() { return false; } @Override public Object next() { return null; } } public class PancakeHouseMemuIterator implements Iterator{ List<MenuItem> list ; PancakeHouseMemuIterator( List<MenuItem> list){ this.list = list; } int position = 0; @Override public boolean hasNext() { if(position>list.size()-1 ||list.get(position)==null) { return false; }else{ return true; } } @Override public Object next() { MenuItem menuItem = list.get(position); position+=1; return menuItem; } } public class PancakeHouseMenu{ ArrayList menuList; public PancakeHouseMenu(){ menuList = new ArrayList(); addItem("西紅柿","炒雞蛋",5,false); addItem("西紅柿1","炒雞蛋1",5,false); addItem("西紅柿2","炒雞蛋2",5,false); addItem("西紅柿3","炒雞蛋3",5,false); addItem("西紅柿4","炒雞蛋4",5,false); } public void addItem(String name,String description,int price,boolean vegetarica){ MenuItem item = new MenuItem(name,price,vegetarica,description); menuList.add(item); } public ArrayList getMenuList(){ return menuList; } }
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看