js_高级_面向对象编程案例---理解面向对象编程思想很重要

1、使用面向对象的方式来做这个案例---注意:面向对象是面向过程的封装,不是完全替代了面向过程

  

案例一:随机生成小方块

  思考:1、这个案例里可以抽象出哪些对象---方块对象

     2、随机生成颜色、随机生成位置 ---生成随机数--封装成函数,封装成函数比较散,为了方便管理,把不同功能的函数封装在不同对象的方法中-----工具对象

    所以这个项目会有2个对象

    方块对象  +  工具对象  (封装很多功能函数)

    方块对象有很多,这些对象都很类似,所以我们可以通过构造函数的方式来创建对象:批量创建相似类型的对象。

    工具对象在整个项目中只有一个,所以直接用创建普通对象的方式来创建工具对象就行。

    代码实现:

    1、创建工具对象---对象的方法来封装些功能(生成随机数)

    2、创建方块对象

      a、创建构造函数

      b、分析方块对象的成员---即构造函数的属性、方法(无对错,只有合适不合适):

        属性:方块的背景颜色、方块的大小、方块的坐标、

        方法:随机生成自己的坐标

     

     

       

     3、随机生成方块的调用---实现随机生成方块

      

      

案例二:贪吃蛇游戏

     

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

        蛇  +  食物 (物) 、 游戏对象(事)控制游戏的逻辑

   第二步:创建对象(构造函数  、对象成员)

    先写最简单的对象

    a、食物: 有哪些成员  ---(属性) 坐标   大小   颜色  +   (方法)随机创建一个食物对象,并显示在界面上

    

    随机生成食物的坐标的x、y的范围

      

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

      

       把之前写的代码都放在一个自调用函数中,避免全局污染

      

    b、蛇对象

      

      

       

    c、游戏对象

    

    

    

     

    

    

3、贪吃蛇游戏的优化

  

   

    合并js文件:每一个文件访问的时候都会建立一个连接,这样我们的访问网页的速度也会变慢,我们最后上线的时候打包合成一个js文件,这样可以提高网页的访问速度

    压缩(文件体积小,下载速度会快些,别人在访问网页时会快些):压缩 注释 、 换行 、 参数变量名------项目开发时一般会有压缩工具的

    

    

4、函数的bind

     

 5、自调用函数的问题

    

     

    

            

    

 

      

 

        

        

        

      

      

      

原文地址:https://www.cnblogs.com/yangyutian/p/10934458.html