<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>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                # Java面向對象(綜合實戰) ? &emsp;&emsp; 前言:學習完Java面向對象,所以對于不太了解的地方就得從實戰一些小項目練習獲得需要知道的東西,從這些練習中就能更加直觀清晰的明白和使用。 ### 案例一:電腦模型(OO實現) #### 1.1 需求分析 ? &emsp;&emsp;一個可以運行的電腦核心就是電腦主板,而電腦主板的核心部分包括:CPU插槽(AMD的CPU或者Intel的CPU)、聲卡、顯卡、網卡都符合PCI的插槽標準所以可以插到PCI插槽中 類: >電腦類(Computer) >主板類(MainCard) 接口: >CPU接口 >PCI接口 基于CPU接口的實現:AMPCPU或者InterCPU 聲卡:華碩(ASUSSoundCard)聲卡 顯卡:七彩虹(ColorFulCard) 網卡:TPLinkNetWorkCard 組件關鍵分析: 電腦有一個屬性-主板類 主板 屬性1個(CPU接口)和3個PCI接口 #### 1.2 代碼實現 ? &emsp;&emsp;對于電腦主板上的CPU和PCI插槽為滿足不同品牌的設備,分別定義CPU接口和PCI接口,例如: ```java /** * CPU.java(CPU插槽接口) * @author baishenghua * * */ public interface CPU { // CPU工作 public void work(); } ``` ? &emsp;&emsp;**PCI接口代碼:** ```java /** * PCI.java(主板上PCI插槽標準接口) * @author baishenghua * * */ public interface PCI { public void run(); } ``` ? &emsp;&emsp;對于主板上的CPU定義為接口,但對應的實現可以是AMD的CPU也可以是Intel的CPU,例如: ? &emsp;&emsp;**AMD的CPU代碼:** ```java /** * AMDCPU.java(AMDCPU類) * @author baishenghua * */ public class AMDCPU implements CPU { @Override public void work() { System.out.println("====AMDCPU開始工作====="); } } ``` ? &emsp;&emsp;**Intel的CPU代碼:** ```java /** * IntelCPU.java(Intel的CPU類) * @author baishenghua * */ public class IntelCPU implements CPU { @Override public void work() { System.out.println("====IntelCPU開始工作======"); } } ``` ? &emsp;&emsp;對于電腦主板上的三個PCI插槽可以匹配聲卡、顯卡、網卡,在這里我們對應的實現分別為華碩聲卡(ASUSSoundCard)、七彩虹顯卡(ColorFulCard)、 Tp-Link網卡(TPLinkNetWorkCard),代碼如下: ? &emsp;&emsp;**華碩聲卡(ASUSSoundCard)代碼:** ```java /** * ASUSSoundCard.java(華碩聲卡類) * @author baishenghua * */ public class ASUSSoundCard implements PCI { @Override public void run() { System.out.println("====華碩聲卡開始運行====="); } } ``` ? &emsp;&emsp;**七彩虹顯卡(ColorFulCard)代碼** ```java /** * ColorFulCard.java(七彩虹顯卡) * @author baishenghua * */ public class ColorFulCard implements PCI { @Override public void run() { System.out.println("======七彩虹顯卡開始運行====="); } } ``` ? &emsp;&emsp;**Tp-Link網卡(TPLinkNetWorkCard)代碼** ```java /** * TPLinkNetWorkCard.java(Tp-Link網卡類) * @author baishenghua * */ public class TPLinkNetWorkCard implements PCI { @Override public void run() { System.out.println("====Tp-Link網卡開運行==="); } } ``` ? &emsp;&emsp;**主板(MainCard)代碼** ```java /** * MainCard.java(主板類) * @author baishenghua * */ public class MainCard { // CPU接口 private CPU cpu; // PCI插槽 private PCI pci1; private PCI pci2; private PCI pci3; public void setCpu(CPU cpu) { this.cpu = cpu; } public void setPci1(PCI pci1) { this.pci1 = pci1; } public void setPci2(PCI pci2) { this.pci2 = pci2; } public void setPci3(PCI pci3) { this.pci3 = pci3; } public CPU getCpu() { return cpu; } public PCI getPci1() { return pci1; } public PCI getPci2() { return pci2; } public PCI getPci3() { return pci3; } } ``` &emsp;&emsp;電腦主要設備是主板,所以在電腦類(Computer)對應有主板(MainCard)屬性,同時也提供一個電腦運行的方法run()方法,代碼如下: ```java /** * Computer.java(電腦類) * @author baishenghua * */ public class Computer { // 主板 private MainCard mainCard; public Computer() { } public Computer(MainCard mainCard) { this.mainCard = mainCard; } // 電腦運行 public void run() { System.out.println("====電腦開始啟動====="); if (mainCard == null) { System.out.println("====電腦主板未匹配成功===="); } else { if (mainCard.getCpu() == null) { System.out.println("====CPU設備未配置成功==="); return; } else { // CPU正常工作 mainCard.getCpu().work(); } // CPI1 if (mainCard.getPci1() == null) { System.out.println("===PCI1未匹配設備"); return; } else { mainCard.getPci1().run(); } // PIC2 if (mainCard.getPci2() == null) { System.out.println("===PCI2未匹配設備"); return; } else { mainCard.getPci2().run(); } // PCI3 if (mainCard.getPci3() == null) { System.out.println("===PCI3未匹配設備"); return; } else { mainCard.getPci3().run(); } } System.out.println("====電腦啟動成功==="); } } ``` ? &emsp;&emsp;**ComputerTest類代碼** ```java /************************************ * ComputerTest.java(電腦測試) * @author baishenghua * */ public class ComputerTest { public static void main(String[] args) { // AMDCPU設備 AMDCPU admcpu = new AMDCPU(); // 華碩聲卡設備 ASUSSoundCard sondCard = new ASUSSoundCard(); // 七彩虹顯卡 ColorFulCard colorFulCard = new ColorFulCard(); // TP-Link網卡 TPLinkNetWorkCard linkNetWorkCard = new TPLinkNetWorkCard(); MainCard mainCard = new MainCard(); mainCard.setCpu(admcpu); mainCard.setPci1(sondCard); mainCard.setPci2(colorFulCard); mainCard.setPci3(linkNetWorkCard); Computer computer = new Computer(mainCard); computer.run(); } } ```
                  <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>

                              哎呀哎呀视频在线观看