首页 > 代码库 > cocos2dx3.2 绘图方法小改动之 C++ final学习

cocos2dx3.2 绘图方法小改动之 C++ final学习

     今天用cocos2dx 3.2版本学习绘图功能,

      于是我重载Node 的draw方法,发现报错,

      点击方法进入到Node下 发现draw()方法后面多了一个 final。

     下面我简单讲解一个下final的用途

      1 final类:
      
      final类不能被继承,因此final类的成员方法没有机会被覆盖,默认都是final的。在设计

类的时候,如果这个类不需要有子类,类的实现细节不允许改变,并且确认这个类不会被

扩展,那么就设计为final类。final方法不可以被子类方法覆盖,但可以被继承。

       2 final方法
       
      如果一个类不允许其子类覆盖某个方法,则可以把这个方法声明为final方法。
     
      使用final方法原因有二
      
      第一,把方法锁定,防止任务继承类修改它的意义和实现。
      
      第二,搞笑,编译器在遇到调用final方法时候会转入内嵌机制,大大提高执行效率。

      3 final变(常量)
     
      用final修饰的成员变量表示常量,只能被赋值一次,赋值后值无法改变!
  
      final修饰的变量有三种:静态变量,实例变量和局部变量。分别表示三种类型的常量。

      所有我们不可以重写draw()方法,那我们怎么办呢? 别急,我看见draw方法下面还有

一个有参数的draw方法。

 
     所以我们可以重载这个带参数的方法去绘制条条框框。