首页 > 代码库 > 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方法。
所以我们可以重载这个带参数的方法去绘制条条框框。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。