js_高級_面向對象編程案例---理解面向對象編程思想很重要


1、使用面向對象的方式來做這個案例---注意:面向對象是面向過程的封裝,不是完全替代了面向過程

  

 

案例一:隨機生成小方塊

  思考:1、這個案例里可以抽象出哪些對象---方塊對象

     2、隨機生成顏色、隨機生成位置 ---生成隨機數--封裝成函數,封裝成函數比較散,為了方便管理,把不同功能的函數封裝在不同對象的方法中-----工具對象

    所以這個項目會有2個對象

    方塊對象  +  工具對象  (封裝很多功能函數)

    方塊對象有很多,這些對象都很類似,所以我們可以通過構造函數的方式來創建對象:批量創建相似類型的對象。

    工具對象在整個項目中只有一個,所以直接用創建普通對象的方式來創建工具對象就行。

    代碼實現:

    1、創建工具對象---對象的方法來封裝些功能(生成隨機數)

    2、創建方塊對象

      a、創建構造函數

      b、分析方塊對象的成員---即構造函數的屬性、方法(無對錯,只有合適不合適):

        屬性:方塊的背景顏色、方塊的大小、方塊的坐標、

        方法:隨機生成自己的坐標

     

     

       

     3、隨機生成方塊的調用---實現隨機生成方塊

      

      

案例二:貪吃蛇游戲

     

   第一步:看哪些可以抽象成對象(物、事都可以抽象成對象)

        蛇  +  食物 (物) 、 游戲對象(事)控制游戲的邏輯

   第二步:創建對象(構造函數  、對象成員)

    先寫最簡單的對象

    a、食物: 有哪些成員  ---(屬性) 坐標   大小   顏色  +   (方法)隨機創建一個食物對象,並顯示在界面上

    

    隨機生成食物的坐標的x、y的范圍

      

       蛇遇到食物之后要刪除食物

      

       把之前寫的代碼都放在一個自調用函數中,避免全局污染

      

    b、蛇對象

      

      

       

 

    c、游戲對象

    

    

    

     

    

    

3、貪吃蛇游戲的優化

  

   

    合並js文件:每一個文件訪問的時候都會建立一個連接,這樣我們的訪問網頁的速度也會變慢,我們最后上線的時候打包合成一個js文件,這樣可以提高網頁的訪問速度

    壓縮(文件體積小,下載速度會快些,別人在訪問網頁時會快些):壓縮 注釋 、 換行 、 參數變量名------項目開發時一般會有壓縮工具的

    

 

    

 

 

 

4、函數的bind

     

 

 5、自調用函數的問題

    

     

 

 

 

 

    

 

 

 

 

 

 

 

 

            

 

 

    

 

 

 

      

 

 

 

 

        

        

        

      

      

      


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM