系列化入门读物
这个指南描述如何轻松地系列化一个简单的对象。
这篇文章包含三个部分。
PART1 介绍基本的系列化
PART2 解释如何有效地读取无效数据和支持版本。
PART3 描述如何对复杂的对象进行系列化。
系列化入门读物-PART 3
在前面两个部分中,我们学到了在通常情况下如何提供完整的系列化。在这篇文章,我们将要学到如使用特定的方法对一些对象进行系列化。考虑一下以下四个案例:
系列化简单的类。
系列化派生类。
系列化包含相同类型数据的集合类
系列化包含不同类型数据的集合类
Serializing a simple class
简单类是指一个没有父类也不是集合类的类。对这种类进行系列化需要做的如下:
1、 系列化对象的标志
2、 系列化对象的版本
3、 系列化对象的的成员
Serializing a derived class
派生类是指一个派生简单类且不是集全类的类。要对派生类进行系弄化要做的如下:
1、 列化对象的标志
2、 系列化对象的版本
3、 系列化基类的成员
4、 系列化对象的成员
Serializing a homogenous collection class
同质的集合类1被用于存放一系列动态大小的相同类型的对象。在此例中,同质的集合类是一个从Cptrarray或者它的派生类派生而来的,并且包含一系列相同类型的对象。对此类系列化要做以下几步:
1、 系列化对象标志
2、 系列化对象版本
3、 如果是从CptrArray派生来的类,需要系列化集合中元素的个数。否则,系列化对象的基类。
4、 系列化集合
5、 系列化对象自己的成员
Serializing a heterogenous collection class
异质的集合类2被用于存放一系列动态大小的不同类型的对象。在此例中,异质的集合类是一个从CptrArry或者它的派生类派生而来的,并且包含一系列相近类型(但并不是要相同)的对象。对此类系列化要做以下几步:
1、 列化对象标志
2、 系列化对象版本
3、 果是从CptrArray派生来的类,需要系列化集合中元素的个数。否则,系列化对象的基类。
4、 系列化集合中所有对象的标志和对象的成员
5、 系列化此对象自已的成员
译注:
1、 同质的集合类就是包含相同类型数据的集合类
2、 异质的集合类就是包含不同类型数据的集合类