CN1525312A - 具有面向对象程序的存储介质 - Google Patents
具有面向对象程序的存储介质 Download PDFInfo
- Publication number
- CN1525312A CN1525312A CNA2004100052680A CN200410005268A CN1525312A CN 1525312 A CN1525312 A CN 1525312A CN A2004100052680 A CNA2004100052680 A CN A2004100052680A CN 200410005268 A CN200410005268 A CN 200410005268A CN 1525312 A CN1525312 A CN 1525312A
- Authority
- CN
- China
- Prior art keywords
- data
- project
- character string
- authenticator
- information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4488—Object-oriented
- G06F9/449—Object-oriented method invocation or resolution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99941—Database schema or data structure
- Y10S707/99944—Object-oriented database structure
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Stored Programmes (AREA)
Abstract
具有面向对象程序的存储介质,主类创建任何类型的对象,使得通过更改要实现的内容而不用更改程序接口环境就可以容易地添加、修改或删除函数。
Description
相关申请交叉参考
本申请要求2003年2月18日提交给韩国知识产权局的韩国专利申请No.2003-10162的权益,该申请的公开结合在此作为参考。
技术领域
本发明涉及具有面向对象程序的存储介质,该面向对象程序包括具有用来存储可选数据的对象项目和通过对象项目处理数据的多个函数的对象,特别是涉及具有通过从一个类动态创建各种对象从而减少类设计和程序开发的时间和成本的面向对象程序的存储介质。
背景技术
常规的面向过程的程序包括数据结构和改变数据的算法。因为常规的面向过程的程序不能很好地表达数据和函数之间的关系,所以算法的变更限制了修补和维护,和源代码的重用。
这样,为了产生一个能够易于实现修补、维护和代码重用的程序,出现了面向对象的程序,它通过使具有其典型数据和方法,即,利用数据执行操作的函数的对象通过消息彼此通信而获得理想的结果。
这里,对象表示具有与特定数据关联的函数的程序模块,作为为有效的数据管理而分类的概念上的单元。数据用来存储对象的属性,函数定义对象可以执行的功能。每个对象必须至少有一个项目。在象C++、Java、Python这类面向对象的程序语言中,从向对象提供框架的对象类创建对象,以使对象能够包括和执行公共特征和动作。
这里,每个对象通常使数据存储在有预定类型和编号的项目中。这样,如果项目的类型或编号彼此不同,那么针对这些对象分别定义这些类。
因此,这里需要一种方法通过从一个类创建各种对象以面向对象编程语言为目标来实现修补、维护、和代码重用。
对象串行化被定义为流动对象用于通过文件或网络以字节流传递对象内容的流对象。另外,下面将串行数据恢复为原始对象的过程定义为去串行化。对象串行化的优点在于,由于对象内容可以存储在独立于输入/输出类型的文件中,并且使对象通过网络易于交流,因此提供了持续性。
C++在对象类中提供了用于执行串行/去串行的串行方法以,并且允许对象被串行。这样,对于对象串行化会有这样的问题,即对于对象串行化必须伴随着超越有关每个类的串行化方法和定制适合于每个类的特征超越串行化方法的过程。
发明内容
因此,本发明的一个方面是提供一种具有面向对象程序的存储介质,能够通过提供项目类型和数量不受限制的一个类来创建各种对象来减少类设计和程序所需的开发时间和成本。
本发明的其它方面和/或优点中的一部分将在下面的说明书中描述,一部分从说明书中,或通过实施本发明是显而易见的。
通过提供具有面向对象程序的存储介质实现本发明前述和/或其它方面,面向对象程序包括具有存储可选数据的对象项目和多个通过对象项目处理数据的函数的对象,该具有面向对象程序的存储介质包括:主类,该主类包括有选择地存储对象项目的项目名称的项目鉴别符的主类,有选择地存储要在对象项目中存储的数据的项目类型的项目类型信息,和指向存储有数据的存储器地址的地址信息,以及函数,包括接收项目鉴别符、项目类型和数据值,并允许对象项目存储数据的数据存储函数。
在一个方面中,项目鉴别符包括字符串。
在一个方面中,项目类型信息表示为字符串,并包括主类,以使对应的对象项目可指向存储至少一个数据的另一个对象项目。
在一个方面中,地址信息包括存储一个或更多数据的指针列表。
在一个方面中,从数据存储函数输入的项目鉴别符包括预定的数据结构的位置信息,通过使对象中的对象项目指向另一个对象项目而形成的对象之间的关系,以及数据存储函数在与位置信息对应的位置的对象项目中存储数据。
在一个方面中,数据结构的层数随着链接越来越多的对象项目而增加,数据结构的位置信息包括分级链接到要存储数据的对象项目的上层中提供的其它对象项目的项目鉴别符,和用来分隔对象项目的项目鉴别符的分隔符。
在一个方面中,如果在与数据结构中的位置信息对应的位置存在对象项目,那么数据存储函数将项目类型设置为诸如整型数组或字符串数组之类的数组项目类型,并且还在对象项目中存储数据。
在一个方面中,如果在数据结构中不存在位置信息中位于每一层的对象项目,那么数据存储函数创建具有每层不存在的对象项目的名称的对象作为项目鉴别符,并且创建主类作为项目类型。
在一个方面中,主类还包括将对象中的数据转换为字符串的字符串转换函数,该字符串转换函数将对象项目转换为包括项目鉴别符,项目类型,数据的个数,和数据内容的字符串。
在一个方面中,当字符串转换函数确认对象项目的项目类型为主类时,按照数据的个数递归地执行字符串转换函数。
在一个方面中,转换后的字符串还包括对应各自对象项目的转换后的字符串之间的对象项目分隔器。
在一个方面中,主类还包括用来将在对象中具有数据的字符串恢复为原始对象的对象恢复函数,并且对象恢复函数通过把数据存储函数施加到从转换后的字符串分隔的每个对象项目的信息来恢复字符串。
在一个方面中,根据从转换后的字符串分隔的各自对象项目的信息中的数据个数向对象恢复函数分派存储器,并且对象恢复函数在存储器中按顺序存储数据。
附图说明
通过结合附图描述下面的实施例,本发明的这些和/或其它方面和/或优点将变得更加明显和容易理解。
图1是根据本发明实施例的主类的方框图;
图2是解释根据本发明实施例的包含位置信息的项目鉴别符的示意图;
图3A和3B是解释数据结构的实例的示意图,其中本发明的数据存储函数用于形成数据结构;
图4是解释根据本发明实施例的数据存储函数的操作的流程图;
图5是解释根据本发明实施例的数据检索函数的操作的流程图;和
图6是解释根据本发明实施例的字符串转换函数的操作的流程图。
具体实施方式
下面将对本发明的实施例做详细描述,结合附图说明其实例,其中相同的参考标号始终表示相同的元素。下面为了解释本发明将参考附图来描述实施例。
图1是根据本发明实施例的主类的方框图。如图1所示,根据本发明的主类具有包括消息名称(项目鉴别符),项目类型(项目类型信息),和存储器地址(地址信息)的属性。
消息名称可以表示为项目类型的字符串型,并指示能够存储对象项目的项目名称的项目鉴别符。
项目类型可以表示为项目类型的字符串型,并指示被称为项目名称的数据的项目类型信息。
这里,项目类型可以包括本发明中定义的主类类型,就是说,消息对象类的项目类型,即,已有的项目类型,如整型、实型、字符串、整型数组、实型数组和字符串数组等。
在已有的类配置中,因为对象项目和与对象项目对应的项目类型是预先在类设计中确定的并且没有改变,所以如果用户想利用对象里的函数存取各自对象项目中存储的数据,那么具有与对象项目对应的项目类型的参数必须在函数中用作中介。
但是,因为根据本发明的消息对象类接收项目鉴别符和指示对象项目作为函数的参数的项目类型,所以不预先确定对象项目的项目类型,而是当在对应的对象项目中存储数据时动态地确定。
地址信息包括指示一个或多个具有相同项目类型并且指示为项目鉴别符的数据的指针列表。这样,对象项目能够包括单个项目类型或数组项目类型,并且对象项目的大小不受所链接的表结构的限制。
链接表是存储能够易于用C语言实现的方法的有用数据,其中由数据中包括的信息以指针类型定义数据链接。这里,指针通过提供链接数据的地址信息来提供数据连接方法。
由于地址信息只包括指针的列表,因此地址信息不受要指示的项目类型的限制。
另外,用主类类型作为类中的对象项目的项目类型,以使对象项目可指示存储至少一个数据值的其它对象项目,并且能够利用链接到对象项目的至少一个主类对象来构造子表。
通过上述过程,从主类创建的一个对象可以具有带有与对象有关的复杂树结构的数据结构,其中对象中的对象项目指向其它对象项目,并且因此形成关系。
这里,选择要位于第一层的项目类型作为主类项目类型,以使主类对象可以有不同种类的对象项目。这样,从主类对象创建的一个对象的第一层中的项目鉴别符可以不用于指示第一层的项目名称,而是指示所创建的对象本身的名称。
这里,作为预定的数据结构,层包括根据该关系的对象的位置信息,是指通过使对象中的对象项目指向另一个对象项目形成的对象间的关系。
即,根据本发明,彼此链接的对象项目分别在彼此不同的层中。这样,层的数量随着关系的数量而增加。
例如,假设在层0有一个创建的对象,则可以建立链接到所创建对象的对象项目在层1中,链接到第1层中的对象项目的对象项目在层2中,等等。
图2是解释根据本发明实施例的包含位置信息的项目鉴别符的示意图。
如图2所示,利用分隔符创建数据的位置信息,以便能够易于创建和检索数据。
如上所述,层0的消息名称对应于指向消息对象本身的项目鉴别符。
另外,层1的消息名称对应于由层0的地址信息指向的消息对象的项目鉴别符。类似地,层2的消息名称对应于由层1的地址信息指向的消息对象的项目鉴别符。
另外,由分隔符分隔各个层的消息名称,项目鉴别符。在根据本发明的实施例中,用“.”作为分隔符,但是象“/”、“@”等不用作消息名称的字符也可以用作分隔符。
这里,指向下一层的层的项目类型最好是主类类型,从而使由各层指向的数据能够按层次彼此链接。
图3A是解释数据结构的实例的示意图,其中本发明的数据存储函数用来形成数据结构。
如图3A所示,层0具有“消息实例”,该消息示例指示由根据本发明实施例的面向对象程序创建的对象本身的项目鉴别符;作为后面的层1中存储的消息对象项目类型的“示例1”和“示例2”;以及与作为分别指向“示例1”和“示例2”的地址信息的指针存储在一起的消息对象。
层1具有与项目鉴别符存储在一起的消息对象,“示例1”;作为是数据的“示例字符串1”和“示例字符串2”的项目类型的字符串类型;和作为分别指向“示例字符串1”和“示例字符串2”的地址信息的指针。
另外,层1还具有与项目鉴别符存储在一起的消息对象,“示例2”;作为存储在后面的层2中的消息对象项目类型的“示例3”和“示例4”的项目类型;和作为分别指向“示例3”和“示例4”的地址信息的指针。
层2具有与项目鉴别符存储在一起的消息对象,“示例3”;作为是数据的“示例子串1”和“示例子串2”的项目类型的字符串类型;和作为分别指向“示例子串1”和“示例子串2”的地址信息的指针。
另外,层2具有与项目鉴别符存储在一起的消息对象,“示例4”;作为是数据的10000和20000的项目类型的字符串类型;和作为分别指向10000和20000的地址信息的指针。
图3B是解释图3A的对象项目中存储的数据结构的实例的示意图。在图3B中,箭头表示指针,圆角框表示数据。
如图1所示,主类具有用来存储其属性的对象项目,和多个用来访问对象项目和对有关数据执行期望操作的函数。
在根据本发明的实施例中,有选择地使用数据存储函数,数据检索函数,字符串转换函数,和对象恢复函数。
图4是解释根据本发明实施例的数据存储函数的操作的流程图。
根据本发明的数据存储函数具有作为参数的项目鉴别符,项目类型,和数据值。
首先,定义消息对象类(S1)。
就是说,所定义的是一个主类,该主类包括有选择地存储对象项目的项目名称的项目鉴别符,有选择地存储要存储在对象项目中的数据的项目类型的项目类型信息,和指向存储数据的存储器地址的地址信息。
项目鉴别符与数据结构中包括的,对应于要创建的数据的位置信息一起输入,以便能够在要求的位置创建数据(S3)。此后,将包括位置信息的项目鉴别符定义为鉴别符信息。
如上所述,数据结构中的位置信息包括用来分隔表达数据结构的层次的层的分隔符。
输入的鉴别符信息允许在要求的位置创建数据。下面将描述在要求的位置创建数据的过程。
首先,在鉴别符信息中分隔出对应于当前层,例如第k层的消息名称的信息(S5)。
确认在鉴别符信息中是否存在下一层的信息,例如对应于第k+1层的信息(S7)。根据本发明的实施例,由于用分隔符分隔每一层,如果鉴别符信息具有分隔符,则确定存在对应下一层的数据。
如果确定不存在下一层的信息,那么确认在数据结构中是否已经存在作为鉴别符信息中当前第k层的消息名称的具有相同项目鉴别符的对象项目(S9)。
如果在数据结构中不存在作为鉴别符信息中当前第k层的消息名称的具有相同项目鉴别符的对象项目,那么创建具有消息名称的消息对象(S11)。
创建消息对象包括为新的消息对象分配存储用的存储器空间,和在项目鉴别符中保存当前第k层的消息名称,然后保存要存储在分配的消息对象的地址信息中的数据的地址信息。
同时,如果在数据结构中存在作为鉴别符信息中当前第k层的消息名称的相同消息对象,那么把要保存的数据的地址信息添加到消息对象的地址信息中(S13)。
根据消息对象的项目类型添加要保存到消息对象的地址信息的数据的地址信息。
如果消息对象的项目类型不是数组型项目,那么将消息对象的项目类型转换为数组型项目。
当确认对应于下一层,例如第k+1层的信息是否包括在鉴别符信息中时(S7),如果确定存在对应于下一层的信息,那么确认在数据结构中是否存在作为鉴别符信息中当前第k层的消息名称的相同消息对象(S15)。
如果在数据结构中存在作为鉴别符信息中当前第k层的消息名称的相同消息对象,那么在移动到下一层k+1后,从S5递归地执行这些过程(S17)。
同时,如果在数据结构中不存在作为鉴别符信息中当前第k层的消息名称的相同消息对象,那么将鉴别符信息中具有当前第k层的消息名称的消息对象作为项目鉴别符登记。
这里,登记消息对象包括分配具有鉴别符信息的当前第k层的消息名称的消息对象作为项目鉴别符。
在登记完消息对象后,过程移动到下一层k+1(S17),并且从操作S5递归地执行。
在数据结构的要求位置创建数据的数据存储函数和在数据结构的要求位置读取数据的数据检索函数与数据访问处理类似。当两个函数利用每个消息对象的地址信息访问要求的位置后,情况与在创建情况下数据存储在要求位置,和检索情况下从要求位置读取数据的有所不同。
在用上述方法形成的数据结构中,将参考图5描述用于检索数据值的过程。
根据本发明的数据检索函数具有与要作为参数读取的数据值对应的项目鉴别符。
所输入的鉴别符包括要检索的数据在数据结构中的位置信息(S21)。
分隔对应于鉴别符信息中当前层,例如第k层的消息名称的信息(S23)。
确认在鉴别符信息中是否存在对应下一层,例如第k+1层的信息(S25)。根据本发明的实施例,因为由分隔符分隔每一层,如果鉴别符信息有分隔符,则确定存在对应于下一层的数据。
如果确定不存在下一层的信息,那么确认数据结构中是否存在作为鉴别符信息中当前第k层的消息名称的具有相同项目鉴别符的对象项目(S27)。
如果数据结构中不存在具有在鉴别符信息中作为当前层k的消息名称的相同项目鉴别符的对象项目,那么确定数据检索失败(S29)。
如果数据结构中存在具有在鉴别符信息中作为当前层k的消息名称的相同项目鉴别符的对象项目,那么使用消息对象的地址信息,并且读取消息对象的数据(S31)。
当确认鉴别符信息中是否包括对应于下一层,例如第k+1层的信息时(S25),如果确定存在对应于下一层的信息,那么确认在数据结构中是否存在作为鉴别符信息中当前第k层的消息名称的相同消息对象(S33)。
如果在数据结构中存在作为鉴别符信息中当前第k层的消息名称的相同消息对象,那么在移动到下一层K+1后,从S23递归地执行这些过程(S35)。
如果在数据结构中不存在具有作为鉴别符信息中当前第k层的消息名称的相同项目鉴别符的消息对象,那么确定数据检索失败(S29)。
下面将参考图6描述将具有由上述方法创建的数据结构的消息对象的数据转换成字符串的函数。
转换存储在一个对象中的所有对象项目中的数据,即,将分层链接到数据结构中项层消息对象的数据转换为字符串,以及将转换后的字符串恢复成分层数据结构对数据传递非常有用。
根据本发明的字符串转换函数具有鉴别符、被作为其参数的要被转换为字符串的消息对象的名称。
首先,选择要转换成字符串的消息对象(S41)。
然后,从按照各层顺序选出的消息对象的鉴别符提取对应于当前层的项目鉴别符,并且读取数据的项目类型、数据个数、数据内容、和消息对象的消息名称(S43)。可以从对应的信息中提取消息名称、数据的项目类型和数据内容,数据个数可以通过检查地址信息的数量来读取。可以在读取对应于该数据的地址信息时,顺序读取数据的内容。
使用提取的信息,然后写对应的消息对象的消息名称,并且将数据的项目类型、数据个数和数据内容转换成字符串,然后将转换后的字符串添加到已存在的字符串中(S45)。
添加分隔符以便在向已有的字符串中添加转换后的字符串之前允许分隔该消息对象。
执行操作S43和S45,使得数据结构中存储的数据包括恢复为原始数据所需的信息。
如果对应的消息对象的项目类型是消息对象,那么操作最好按数据的个数递归地执行,下面将要描述。
确认对应的消息对象的项目类型是否是消息对象(S47)。如果确定对应的消息对象的项目类型是消息对象,那么按照消息对象指向的数据个数顺序对存储的数据递归地执行操作S43和S45。
确认消息对象指向的数据个数是否为1(S51)。如果消息对象指向的数据个数为1,执行向由对应的消息对象指向的下一个消息对象的移动(S53)。如果消息对象指向的数据值的个数大于1,那么在栈中存储其余的地址信息(S55),执行向由第一个地址信息指向的消息对象的移动(S53)。
这里,栈是允许最后存储的信息最先被处理的信息存储方法。如果在当前消息对象的项目类型是消息对象,并且当前消息对象具有多个地址信息时,那么递归地执行操作S43后的操作。
就是说,因为操作S43到S47显示了将一个对象转换为字符串的过程,所以如果仍存在要转换为字符串的数据(S49),那么递归地执行操作S43后的操作。
执行操作S41到S55,将对象中的数据信息转换为字符串。
当操作两个或更多不同的程序时,将对象中的数据转换为字符串可以将数据发送到其它程序。
接收转换为字符串的数据的程序可以利用上述对象中的数据存储方法将转换后的字符串恢复为具有原始数据结构的对象。通过对从转换后的字符串分隔的各个对象项目的信息应用数据存储函数,对具有原始数据结构的对象的数据恢复函数可以恢复转换后的字符串。
就是说,根据从转换后的字符串分隔的每个对象项目的信息中的数据个数和存储器一起分配对象恢复函数,并且对象存储函数在存储器中按顺序存储数据。
根据本发明从由字符串转换函数转换的字符串分隔的一个对象项目的信息包括对应的对象项目的项目类型、数据个数、数据内容、和项目鉴别符。
就是说,完成对一个对象项目的恢复如下:在消息名称中存储项目鉴别符;在项目类型信息中存储项目类型。读取数据个数,并且分配用来存储数据的空间;在分配的存储空间中顺序存储数据内容;在地址信息中存储对应于存储空间的存储器地址。
如上所述,重复每个对象项目的恢复过程,从而使要恢复的一个对象成为具有原始数据结构的对象。
利用上述配置,因为提供项目类型和数量不受限制的新类来创建各种类型的对象,所以减少了类设计和程序开发的时间和成本。
如上所述,根据本发明,提供创建任何类型对象的主类,从而通过改变要实现的内容而不用改变程序接口环境就可以容易地添加,更改,或删除函数。
另外,即使当操作两个或更多彼此关联的不同程序时,内部配置的消息对象转换为字符串,然后转换后的字符串互相传送并且恢复到原始的消息对象,从而可以提供所有程序的标准接口。
这样,减少了类设计和程序开发的时间和成本。
系统中包括的硬件可以包括存储器,处理器,和/或特定用途集成电路(“ASIC”)。这种存储器可以包括用来存储体现这里描述的任何一种、或全部方法论的一套指令(即,软件)的机器可读介质。软件可以全部或至少部分驻留在该存储器中和/或处理器和/或ASIC中。出于这种规范的目的,术语“机器可读介质”包括提供(即存储和/或发送)一种机器(例如,计算机)可读形式信息的任何机构。例如,机器可读介质包括只读存储器(“ROM”),随机存取存储器(“RAM”)、磁盘存储介质、光存储介质、闪存设备、电、光、声、或其它形式的传播信号(例如,载波、红外信号、数字信号等)等。
虽然已经显示和描述了本发明的几个实施例,应该理解,本领域技术人员在不脱离所附权利要求定义的本发明的原理和精神的范围和其等同物的情况下,可以用各种技术对这些实施例做修改。
Claims (27)
1.一种形成面向对象数据的方法,该面向对象数据包括具有存储可选数据的对象项目和多个通过对象项目处理数据的函数的对象,该方法包括步骤:
根据对象的属性定义对象的主类;
向对象中插入具有位置信息的项目鉴别符,以便有选择地存储对象项目的项目名称;
创建项目类型信息,以便有选择地存储要存储在对象项目中的数据的项目类型;
记录指向与数据一起存储的存储器地址的地址信息;和
形成接收项目鉴别符,项目类型和数据值,并允许对象项目存储数据的数据存储流。
2.根据权利要求1所述的方法,其中项目鉴别符包括字符串。
3.根据权利要求2所述的方法,其中项目类型信息用表示为字符串,并且包括主类,以使对应的对象项目可指向存储至少一个数据的另一个对象项目。
4.根据权利要求3所述的方法,其中地址信息包括存储一个或更多数据的指针列表。
5.根据权利要求4所述的方法,
其中从数据存储函数输入的项目鉴别符包括预定数据结构的位置信息,通过使对象中的对象项目指向另一个对象项目而形成的对象之间的关系,和
其中数据存储函数在与位置信息对应的位置的对象项目中存储数据。
6.根据权利要求5所述的方法,
其中数据结构的层数随着对象项目的链接增加而增加,和
其中数据结构的位置信息包括分级链接到要存储数据的对象项目的上层中提供的其它对象项目的项目鉴别符,和用来分隔对象项目的项目鉴别符的分隔符。
7.根据权利要求6所述的方法,其中如果在数据结构中对应于位置信息的位置存在对象项目,数据存储函数则将项目类型建立为数组项目类型,并且还在对象项目中存储数据。
8.根据权利要求7所述的方法,其中如果在数据结构中不存在位置信息中位于每一层的对象项目,数据存储函数则创建具有每层不存在的对象项目的名称的对象作为项目鉴别符,主类作为项目类型。
9.根据权利要求4所述的方法,其中主类还包括将对象中的数据转换为字符串的字符串转换函数,该字符串转换函数将对象项目转换为包括项目识别器、项目类型、数据个数、和数据内容的字符串。
10.根据权利要求6所述的方法,其中主类还包括将对象中的数据转换为字符串的字符串转换函数,字符串转换函数将对象项目转换为包括项目识别器、项目类型、数据个数、和数据内容的字符串。
11.根据权利要求9所述的方法,其中当字符串转换函数确认对象项目的项目类型为主类时按照数据的个数递归地执行字符串转换函数。
12.根据权利要求10所述的方法,其中当字符串转换函数确认对象项目的项目类型为主类时按照数据的个数递归地执行字符串转换函数。
13.根据权利要求9所述的方法,其中转换后的字符串还包括对应于各个对象项目的转换后的字符串之间的对象项目分隔符。
14.根据权利要求10所述的方法,其中转换后的字符串还包括对应于各个对象项目的转换后的字符串之间的对象项目分隔符。
15.根据权利要求9所述的方法,其中主类还包括将在对象中具有数据的字符串恢复为原始对象的对象恢复函数,并且对象恢复函数通过把数据存储函数实施到从转换后的字符串分隔的每个对象项目的信息来恢复字符串。
16.根据权利要求10所述的方法,其中主类还包括用来将在对象中具有数据的字符串恢复为原始对象的对象恢复函数,并且对象恢复函数通过对从转换后的字符串分隔的每个对象项目的信息施加数据存储函数来恢复字符串。
17.根据权利要求15所述的方法,其中根据从转换后的字符串分隔的各个对象项目的信息中的数据个数向对象恢复函数分配存储器,并且对象恢复函数在存储器中按顺序存储数据。
18.根据权利要求16所述的方法,其中根据从转换后的字符串分隔的各个对象项目的信息中的数据个数向对象恢复函数分配存储器,并且对象恢复函数在存储器中按顺序存储数据。
19.根据权利要求7所述的方法,其中数组项目类型是整型数组或字符串数组。
20.根据权利要求17所述的方法,其中项目鉴别符存储在消息名称中,其中项目类型存储在项目类型信息中,以及其中读取数据的个数和分配存储数据的空间。
21.根据权利要求18所述的方法,其中项目鉴别符存储在消息名称中,其中项目类型存储在项目类型信息中,以及其中读取数据的个数和分配存储数据的空间。
22.一种存储面向对象数据的方法,该面向对象数据包括具有存储可选数据的对象项目和多个通过对象项目处理数据的函数的对象,该方法包括步骤:
根据对象的属性定义消息对象的类;
输入具有位置信息项目鉴别符;
分隔当前层的鉴别符;
确定包括位置信息的鉴别符中是否存在下一层的信息;和
如果不存在下一层的信息而已经存在当前层的鉴别符,则向与当前层的鉴别符对应的消息对象添加数据。
23.根据权利要求22所述的方法,其中还包括如果不存在下一层的信息并且也不存在当前层的鉴别符,则创建作为当前层的鉴别符的数据的步骤。
24.根据权利要求22所述的方法,其中还包括如果存在下一层的信息而不存在当前层的鉴别符,则登记与当前层的鉴别符对应的消息对象。
25.一种检索面向对象数据的方法,该面向对象数据包括具有存储可选数据的对象项目和多个通过对象项目处理数据的函数的对象,该方法包括步骤:
根据对象的属性定义消息对象的类;
输入具有要被检索的数据的位置信息的鉴别符;
分隔当前层的鉴别符;
确定在包括位置信息的鉴别符中是否存在下一层的信息;和
如果鉴别符中存在下一层的信息并且已经存在当前层的鉴别符,则读取当前层的数据。
26.一种转换面向对象数据的方法,该面向对象数据包括具有存储可选数据的对象项目和多个通过对象项目处理数据的函数的对象,该方法包括步骤:
选择要转换成字符串的消息对象;
读取当前消息对象的项目类型,数据个数,消息名称和数据内容;
将消息名称,项目类型,数据个数,和数据内容转换成一个字符串,并添加到已有的字符串;和
在栈中存储地址信息。
27.一种恢复面向对象数据的方法,该面向对象数据包括具有存储可选数据的对象项目和多个通过对象项目处理数据的函数的对象,该方法包括步骤:
在消息名称中存储项目鉴别符;
在项目类型信息中存储项目类型;
读取数据个数并分配存储数据的空间;
在所分配的存储空间中顺序存储数据的内容;和
存储与地址信息中的存储空间对应的存储器地址。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2003-0010162A KR100500245B1 (ko) | 2003-02-18 | 2003-02-18 | 객체 지향 프로그램이 기록된 저장 매체 |
KR200310162 | 2003-02-18 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1525312A true CN1525312A (zh) | 2004-09-01 |
Family
ID=32844866
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2004100052680A Pending CN1525312A (zh) | 2003-02-18 | 2004-02-17 | 具有面向对象程序的存储介质 |
Country Status (4)
Country | Link |
---|---|
US (1) | US7240074B2 (zh) |
JP (1) | JP2004252973A (zh) |
KR (1) | KR100500245B1 (zh) |
CN (1) | CN1525312A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016000563A1 (zh) * | 2014-07-03 | 2016-01-07 | U3D有限公司 | 将来自多个信息源的信息及工具予以统一化的方法以及应用该方法的计算机程序产品与装置 |
CN106537334A (zh) * | 2014-07-03 | 2017-03-22 | 阿贝尔环球国际有限公司 | 在个人工作空间中对统一化元素进行组合工作的方法以及应用该方法的计算机程序产品与系统 |
US9626157B2 (en) | 2014-07-03 | 2017-04-18 | Able World International Limited | Method of projecting a workspace and system using the same |
US9727391B2 (en) | 2014-07-08 | 2017-08-08 | Able World International Limited | Method for performing task on unified information units in a personal workspace |
CN107113334A (zh) * | 2014-12-12 | 2017-08-29 | 阿贝尔环球国际有限公司 | 构建交互式数字目录的方法以及应用该方法的计算机可读取记录媒体与交互式数字目录 |
US9792092B2 (en) | 2014-07-03 | 2017-10-17 | Able World International Limited | Method of unifying information and tool from a plurality of information sources and computer program product and matterizer using the same |
US11360828B2 (en) | 2014-07-08 | 2022-06-14 | Able World International Limited | Method for combining unified matters in personal workspace and system using the same |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101552188B1 (ko) | 2007-09-07 | 2015-09-10 | 삼성전자 주식회사 | 콤포넌트 모델 및 아키텍쳐 설계를 위한 내제된 가변성규칙을 제공하는 방법 및 장치 |
US8843890B2 (en) | 2012-05-10 | 2014-09-23 | International Business Machines Corporation | System and method for transplanting source code |
KR102021447B1 (ko) * | 2018-04-06 | 2019-09-16 | 서울대학교산학협력단 | 컴퓨팅 장치 및 그것의 동작 방법 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5146221A (en) * | 1989-01-13 | 1992-09-08 | Stac, Inc. | Data compression apparatus and method |
US5802352A (en) * | 1996-03-18 | 1998-09-01 | International Business Machines Corp. | Method for separating data retrieval and presentation in an object-oriented reporting system |
JP3763937B2 (ja) * | 1996-06-28 | 2006-04-05 | 富士通株式会社 | オブジェクト指向プログラミング装置、およびオブジェクト結合プログラム記憶媒体 |
US5809507A (en) * | 1996-07-01 | 1998-09-15 | Sun Microsystems, Inc. | Method and apparatus for storing persistent objects on a distributed object network using a marshaling framework |
US6151623A (en) * | 1996-12-13 | 2000-11-21 | International Business Machines Corporation | Agent activity report via object embedding |
JP3489962B2 (ja) * | 1997-04-23 | 2004-01-26 | 沖電気工業株式会社 | プログラム開発装置および並列リアルタイム処理装置 |
JPH11126162A (ja) | 1997-10-22 | 1999-05-11 | Sony Corp | 情報処理装置および情報処理方法、並びに記録媒体 |
US6119125A (en) * | 1998-04-03 | 2000-09-12 | Johnson Controls Technology Company | Software components for a building automation system based on a standard object superclass |
US6141595A (en) * | 1998-04-03 | 2000-10-31 | Johnson Controls Technology Company | Common object architecture supporting application-centric building automation systems |
US6028998A (en) * | 1998-04-03 | 2000-02-22 | Johnson Service Company | Application framework for constructing building automation systems |
US6466944B1 (en) * | 1999-12-02 | 2002-10-15 | Novell, Inc. | Method for creation, management, and use of files containing multiple virtual data streams using standard file system APIs |
US6681234B2 (en) * | 2000-12-12 | 2004-01-20 | Sun Microsystems, Inc. | Method and apparatus for storing long-lived objects in a virtual machine |
-
2003
- 2003-02-18 KR KR10-2003-0010162A patent/KR100500245B1/ko active IP Right Grant
- 2003-11-13 US US10/705,892 patent/US7240074B2/en active Active
-
2004
- 2004-02-03 JP JP2004026967A patent/JP2004252973A/ja active Pending
- 2004-02-17 CN CNA2004100052680A patent/CN1525312A/zh active Pending
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016000563A1 (zh) * | 2014-07-03 | 2016-01-07 | U3D有限公司 | 将来自多个信息源的信息及工具予以统一化的方法以及应用该方法的计算机程序产品与装置 |
CN106537334A (zh) * | 2014-07-03 | 2017-03-22 | 阿贝尔环球国际有限公司 | 在个人工作空间中对统一化元素进行组合工作的方法以及应用该方法的计算机程序产品与系统 |
US9626157B2 (en) | 2014-07-03 | 2017-04-18 | Able World International Limited | Method of projecting a workspace and system using the same |
CN106796591A (zh) * | 2014-07-03 | 2017-05-31 | 阿贝尔环球国际有限公司 | 将来自多个信息源的信息及工具予以统一化的方法以及应用该方法的计算机程序产品与装置 |
US9792092B2 (en) | 2014-07-03 | 2017-10-17 | Able World International Limited | Method of unifying information and tool from a plurality of information sources and computer program product and matterizer using the same |
US9934007B2 (en) | 2014-07-03 | 2018-04-03 | Able World International Limited | Method for operating tool in working environment and machine using such method |
CN106796591B (zh) * | 2014-07-03 | 2020-08-28 | 阿贝尔环球国际有限公司 | 将来自多个信息源的信息及工具予以统一化的方法及装置 |
CN106537334B (zh) * | 2014-07-03 | 2020-10-09 | 阿贝尔环球国际有限公司 | 在个人工作空间中对统一化元素进行组合工作的方法、计算机可读存储介质与系统 |
US9727391B2 (en) | 2014-07-08 | 2017-08-08 | Able World International Limited | Method for performing task on unified information units in a personal workspace |
US11360828B2 (en) | 2014-07-08 | 2022-06-14 | Able World International Limited | Method for combining unified matters in personal workspace and system using the same |
CN107113334A (zh) * | 2014-12-12 | 2017-08-29 | 阿贝尔环球国际有限公司 | 构建交互式数字目录的方法以及应用该方法的计算机可读取记录媒体与交互式数字目录 |
CN107113334B (zh) * | 2014-12-12 | 2021-04-27 | 阿贝尔环球国际有限公司 | 构建交互式数字目录的方法以及应用该方法的计算机可读取记录媒体与交互式数字目录 |
Also Published As
Publication number | Publication date |
---|---|
US20040162837A1 (en) | 2004-08-19 |
JP2004252973A (ja) | 2004-09-09 |
KR20040074766A (ko) | 2004-08-26 |
KR100500245B1 (ko) | 2005-07-11 |
US7240074B2 (en) | 2007-07-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1199104C (zh) | 往返式软件设计的方法与装置 | |
CN1215415C (zh) | 文件管理方法和存储信息记录重放装置 | |
CN1313923C (zh) | 软件分发方法与系统 | |
CN1134730C (zh) | 用于减少预装类的脚印的系统和方法 | |
CN1231843C (zh) | 信息处理装置 | |
CN1577271A (zh) | 数据的包内增量压缩的系统和方法 | |
CN1866252A (zh) | 不同版本的配置数据间进行转换的方法和系统 | |
CN1961313A (zh) | 用于索引文件并将相关元数据添加到索引和元数据数据库的方法和系统 | |
CN1261867C (zh) | 软件中语言资源本地化的实现方法 | |
CN1858789A (zh) | 用来定义和产生文档管理应用的系统和方法 | |
CN1806241A (zh) | 数据库查询用户界面 | |
CN1855009A (zh) | 可搜索控制模板功能的基于任务的界面 | |
CN1525312A (zh) | 具有面向对象程序的存储介质 | |
CN1866283A (zh) | 实现规则系统触发的系统及方法 | |
CN1950833A (zh) | 用于彩色管理的方法和装置 | |
CN1866214A (zh) | 安装方法及设备 | |
CN1858747A (zh) | 一种数据存储/检索方法及系统 | |
CN1141666C (zh) | 利用标准笔划识别输入字符的在线字符识别系统 | |
CN1367896A (zh) | 文件处理方法、数据处理装置及存储介质 | |
CN1103083C (zh) | 用于管理软件系统开发的设备和方法 | |
CN1658159A (zh) | 可配置和可动态更改的对象模型 | |
CN1577323A (zh) | 结构化文挡处理器、结构化文挡处理方法和程序 | |
CN106874370A (zh) | 一种目录文件的快速检索方法 | |
CN1479899A (zh) | 具有格式改编的对象传输方法 | |
CN1856784A (zh) | 用于存储平台中的锁定和隔离的系统和方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |