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方法。
所以我们能够重载这个带參数的方法去绘制条条框框。