我开始与面向对象编程(OOP)和想知道:什么是序列化的意义在面向对象的说法?


当前回答

看看这个,它会给你一个很好的解释:

http://en.wikipedia.org/wiki/Serialization

我认为序列化这个术语最常见的用法是将二进制对象转换为XML(或其他字符串)表示形式,这样它就可以存储在数据库/文件中,或者在web服务调用中通过网络发送。反序列化是相反的过程——将XML/字符串转换回对象。

编辑: 您可能遇到的另一个术语是编组/解组。编组基本上是与序列化相同的概念,而解组与反序列化相同。

其他回答

只要考虑一下下面的想法就能理解它。

序列化:

"hello world".split() returns ['hello', 'world']

反序列化:

" ".join(['hello', 'world']) returns "hello world"

序列化是将无序数据(如对象)转换为一系列标记的过程,这些标记以后可用于重建原始数据。序列化形式通常是一个文本字符串,但不一定非得是这样。

序列化是将内存中的对象转换为字节流的过程,这样您就可以将其存储在磁盘上或通过网络发送。

反序列化是相反的过程:将字节流转换为内存中的对象。

When instantiating (constructing) the actual object(the thing) from a class (blueprint) there is a need to save the object (thing) by serializing it (breaking it down to its basic atomic structure) to a space in memory. (Kind of like Star Treks Transporter). You break the thing down into it stream of information that can be transported somewhere and stored. Then when you want to reconstruct the thing you just pull the atomically stored instance back into the object. Different from instaniation.

看看这个,它会给你一个很好的解释:

http://en.wikipedia.org/wiki/Serialization

我认为序列化这个术语最常见的用法是将二进制对象转换为XML(或其他字符串)表示形式,这样它就可以存储在数据库/文件中,或者在web服务调用中通过网络发送。反序列化是相反的过程——将XML/字符串转换回对象。

编辑: 您可能遇到的另一个术语是编组/解组。编组基本上是与序列化相同的概念,而解组与反序列化相同。