最近开始学习 NDK 开发
学习之前要就得先了解 C++ 语言
啥是 C++ 呢?
就是个面向对象版本的 c 语言
管他是个啥,面向对象不就 封装 继承 多态 吗
所以一开始得先了解一下这三特性
封装没啥好学的
学一下继承 多态就好了
学习之前先了解几个 java 没有的新东西。
虚函数
先别管太多,用 virtual 修饰函数就是虚函数,主要就是来实现多态特性的,具体看后面多态的分析
-
纯虚函数
因为 c++ 没有安卓的抽象和接口,所以需要一个纯虚函数来实现类似的功能。
析构方法
和构造方法相对应的一个方法,类似 Android 的 onDestroy ,对象销毁之前会调这个方法。
继承
支持多继承
共有 私有继承
多态
静态多态
编译的时候就确定对象类型
动态多态
动态多态就是 java 那种正常的多态,把函数写成虚函数,就能实现动态多态功能
-
虚函数
运行的时候检查当前函数的所属对象,用真正的对象类型调用它
-
构造方法永远不要设为虚函数
如果设为虚函数,就无法构造子类对象,只会构造父类的对象
-
析构方法一般设为虚函数
因为我们需要释放地址的时候,我们需要释放子类的地址
-