Symbian学习笔记
日期:2008/3/26
学习目标: | 掌握SymbianOS开发的基础知识 |
学习内容: | 1、命名规定 2、基本的数据类型 3、异常处理 4、描述符与集合类的使用 |
一、命名规定
类和函数的第一个字母大写,并且所有单词连接在一起,
1、变量
a、自动变量(局部变量)第一个字母小写
b、全局变量 大写字母开头
2、类
类名通常以T、C、R、M开头,见下表1
类成员变量以i开头
a、方法
(1)方法名
以L结尾的方法表示可能Leave
以C结尾的方法表示其中将数据项放入了cleanup stack中
以D结尾的方法表示其中的对象将被销毁
(2)方法变量形式参数 以a开头
3、常量以K开头,开头单词大写
4、枚举,以T开头,每个枚举项以E开头
5、宏名 全使用大写下划线分割单词
表1 类名类别
类别 | 描述 |
---|---|
T类、类型 | 不拥有数据,不需要析构函数 |
C类 | 基于CBase派生,需要delete |
R类 | 资源类 |
M类、接口 | 纯虚函数,不包含成员数据 |
静态类 | |
二、基本数据类型
Symbian不使用C/C++的数据类型,将C++数据类型重新封装定义。如表2
表2.基本数据类型
三、异常处理
手机资源有限,为了防止内存泄漏,以及内存分配不足发生的错误进行异常处理。Symbian提供了三种机制来帮助避免内存泄漏的发生。
TRAP处理和Leave:使用TRAP宏来封装可能出现的异常;
Cleanup stack:用来保存那些在可能Leave的函数中由局部指针变量指向的堆中的内存地址.如果Leave发生了,TRAP处理规程将通过调用CleanupStack的PopAndDestroy()来释放相应的内存空间;
两阶段构造函数:即构造器内的不进行内存分配等可能造成内存泄漏的危险操作,将这些操作分开到类的ConstructL()里来做。通常使用NewL()方法来封装这一全部构造过程。
四、描述符
在Symbian 0S中,字符串使用描述符处理。描述符为处理字符串和通用二进制数据提供安全、一致的机制。现有5种具体的描述符,他们分别是 由TDesC派生的TPtrC、TBuf及HBufC和由TDes派生出来的TPtr和TBuf。可以如图1描述每个具体描述符的派生关系。
图1.描述符关系类图
描述符以下3种:
1、缓冲描述符
2、指针描述符
3、堆描述符。
可以如下表3来描述各个描述符所属的类别。
表3.描述符布局
常量 | 可修改 | |
---|---|---|
指针 | TPtrC | TPtr |
缓冲 | TBufC | TBuf |
堆 | HBufC |
五、总结
首先,通过今天的学习,了解Symbian开发中使用的常用数据类型及其命名规则,理解相应的编码规范,为能更好地进行编码、内存管理和异常处理打好基础。
其次在今天的学习任务中,集合类没有进行学习。原因是在以前的编码中使用已经比较熟练,以后在使用到Symbian中的集合类时,再查看帮助文档学习对应的API。^0^