<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之旅 廣告
                # Java面向對象(綜合實戰) &emsp;&emsp;前言:學習完Java面向對象,所以對于不太了解的地方就得從實戰一些小項目練習獲得需要知道的東西,從這些練習中就能更加直觀清晰的明白和使用。 ### 案例二:銀行轉賬(OO實現) #### 1.1 需求分析 ? &emsp;&emsp;銀行轉賬業務操作步驟: >1. 查詢對應賬號是否存在-findAccountByName(); >2. 查詢銀行賬號余額是否充足findAccountByMoney(); >3. 扣款--deduction >4. 匯款-remittance ? &emsp;&emsp;完成思路分析: ? &emsp;&emsp;以上為每個數據操作單位,但整體又是一個工作單位,為了滿足整體的系統設計高聚合低耦合的設計思路,所以把整體業務定義為銀行業務對象-AccountService接口(AccountServiceImpl對應實現類)匯款方法-remitMoney(),而在業務類依賴數據操作單位,我們在這里定義AccoutDao類,此類包上面操作單元 > 1、查詢對應賬號是否存在-findAccountByName(); > 2、查詢銀行賬號余額是否充足findAccountByMoney(); > 3、扣款--deduction >4、匯款-remittance #### 1.2 代碼實現 ? &emsp;&emsp;根據以上整體需求分析,我們需要提供數據操作對象(AccountDao)和業務操作對象(AccountServiceImpl對象),而兩者的關系是業務對象需要依賴數據操作對象,但值得注意的是業務日后需要提供對外的接口,所有業務接口的開發需要基于接口的開發,所以業務定義業務接口 (AccountService),代碼如下: ? &emsp;&emsp;銀行數據操作對象(AccountDao)代碼: ```java /** * AccountDao.java(銀行數據操作類) * @author baishenghua * */ public class AccountDao { public void findAccountByName() { System.out.println("====執行查詢對應賬號是否存在==="); } public void findAccountByMoney() { System.out.println("====執行查詢銀行賬號余額是否充足=="); } public void deduction() { System.out.println("====執行扣款操作==="); } public void remittance() { System.out.println("===執行匯款操作====="); } } ``` ? &emsp;&emsp;銀行業務接口(AccountService)代碼: ```java package com.yiniuedu.cms.bank.dao.service; /** * AccountService.java(銀行業務接口) * @author baishenghua * */ public interface AccountService { // 匯款 public void remitMoney(); } ``` ? &emsp;&emsp;銀行業務實現類(AccountServiceImpl)代碼: ```java /** * AccountServiceImpl.java(業務實現類) * @author baishenghua */ public class AccountServiceImpl implements AccountService { private AccountDao accountDao; public AccountServiceImpl(AccountDao accountDao) { this.accountDao = accountDao; } public AccountDao getAccountDao() { return accountDao; } public void setAccountDao(AccountDao accountDao) { this.accountDao = accountDao; } @Override public void remitMoney() { // 1、查詢對應賬號是否存在-findAccountByName(); accountDao.findAccountByName(); // 2、查詢銀行賬號余額是否充足findAccountByMoney(); accountDao.findAccountByMoney(); // 3、扣款--deduction accountDao.deduction(); // 4、匯款-remittance accountDao.remittance(); } } ``` ? &emsp;&emsp;銀行業務實現測試類(銀行業務實現類)代碼: ```java /** * AccountServiceTest(Account業務單元測試) * @author chong */ public class AccountServiceTest { public static void main(String[] args) { // 實例化數據庫操作對象 AccountDao dao = new AccountDao(); // 實例化業務對象 AccountService accountService = new AccountServiceImpl(dao); // 調用業務方法 accountService.remitMoney(); } } ``` 總結: ? &emsp;&emsp;遇到一個業務復雜的項目時,首先要做的就是分析,先分析各個類和接口之間的關系,然后設計,整理思路,例如要創建的包,包名,包里要放的東西,包之間的調用,類與類之間的繼承,是否抽象,是否要實現接口,在做之前一定要分化清楚,然后再去實現。 &emsp;&emsp;至于還有一些經典例子和練習,也得靠自己去理解,所以慢慢來吧,把這些理解清楚了,對于后面的三層就應該更容易做了。
                  <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>

                              哎呀哎呀视频在线观看