我开始与面向对象编程(OOP)和想知道:什么是序列化的意义在面向对象的说法?
当前回答
什么是序列化?
图片类比解释:
简介:
序列化意味着将某物(例如我的狗Rex)转换成一系列的1和0 -可以运输/存储等。我的海外朋友可以把这些1和0翻译成小狗的完美表现(反序列化)。
类比澄清
朋友们,这是个类比。我认为你还不能连载一只小狗。您可以序列化数据结构或其他复杂对象。(我写这个答案是为了让您能够以一种有趣的方式,在不到3秒的时间内理解这个概念,而不用绞尽脑汁去理解一个核心的技术定义),但如果您更喜欢一个规范的定义,请查看维基百科关于序列化的条目。
其他回答
序列化是将无序数据(如对象)转换为一系列标记的过程,这些标记以后可用于重建原始数据。序列化形式通常是一个文本字符串,但不一定非得是这样。
只要考虑一下下面的想法就能理解它。
序列化:
"hello world".split() returns ['hello', 'world']
反序列化:
" ".join(['hello', 'world']) returns "hello world"
序列化是将对象转换为字节流以存储对象或将其传输到内存、数据库或文件的过程。它的主要目的是保存对象的状态,以便在需要时能够重新创建它。
什么是序列化?
图片类比解释:
简介:
序列化意味着将某物(例如我的狗Rex)转换成一系列的1和0 -可以运输/存储等。我的海外朋友可以把这些1和0翻译成小狗的完美表现(反序列化)。
类比澄清
朋友们,这是个类比。我认为你还不能连载一只小狗。您可以序列化数据结构或其他复杂对象。(我写这个答案是为了让您能够以一种有趣的方式,在不到3秒的时间内理解这个概念,而不用绞尽脑汁去理解一个核心的技术定义),但如果您更喜欢一个规范的定义,请查看维基百科关于序列化的条目。
序列化是将数据转换为由字节组成的线性“字符串”。
其他人或多或少也说过同样的事情,但我强调计算机模型要求数据适合一维寻址RAM或持久存储。
大多数“数据”本质上是可序列化的(即使你必须将抽象模型简化为线性模型);不可序列化的是网络连接或复杂的基于状态的机器,如解析器。