fbpx
维基百科

实化

计算机科学中,实化(英語:reification)是把抽象的想法(idea)转化为明确的数据模型程序设计语言创建的其他对象的过程。通过实化,以前是隐式的、未表示的、可能是不可表示的被显式形成可概念(逻辑或计算)操作的。非正式地,实化也常被称作在特定系统范围内把某些东西变为“头等公民”即物件化。 实化是概念分析知识表示中最常用的技术。

在程序设计语言中的实化与反射 编辑

在程序设计语言中,把用户程序或者程序设计语言某一部分本来在编译期运行期是隐式的,表示为语言自身,这一过程称为实化。这使得其对程序可当作普通数据来利用。在具有反射的程序设计语言中,实化的数据表示了相关的被实化的领域。实化的数据常被称作头等对象

  • C语言中,把内存地址的底层细节实化为指针。例如:char* buffer = (char*) 0xB800000;
  • 基于λ演算函数式程序设计语言,把过程抽象(procedure abstraction)与过程应用(procedure application)的概念实化为λ表达式。
  • Scheme语言实化了计算续体 (粗略说近似于运行期上下文环境)。
  • C#实化了参数多态为多态,成为语言的头等特征。
  • Java中存在“可实化的类型”(reifiable types),其编译期信息在运行期保留并可完全利用。[1]
  • REBOL实化了代码与数据的相互转换。
  • 许多语言,如LispJavaScriptCurl等,提供了evalevaluate过程使其有解释器的功能。
  • Prolog语言的Logtalk英语Logtalk框架提供了逻辑程序设计上下文的实化。
  • Smalltalk演员模型的语言实化了块(block)与消息[2]
  • Smalltalk-80把源代码编译为字节码,这是首例。[3]

数据实化 编辑

数据实化涉及在形式规范英语formal specification中找到抽象数据类型的更为具体的表示。 [4] 例如,抽象数据类型集合(set)可以用map或者array来实化。

概念建模中的实化 编辑

概念建模英语Conceptual model (computer science)中广泛使用了实化。[5]实化一个关系(relationship)意味着把它视作一个实体。实化一个关系的目的是令其显式,必要时可以增加额外的信息。例如,关系IsMemberOf(member:Person, Committee)表示某人是某委员会的成员。下图左侧用表的形式列出了人P1是委员会C1C2的成员;人P2是委员会C1成员。

 
Example population of 关系IsMemberOf的实化。

这一关系,也可看作实体。见图示的右侧。称作该实体实化了这个关系。这个实体类型为Membership。现在,可以给这个关系实体增加新的信息,如某人属于某委员会是由谁来提名加入的,可表示为IsNominatedBy(Membership, Person)

与其密切相关的用法见实化 (知识表示)英语Reification (knowledge representation)

实化在UML中 编辑

 
UML的类图表示Membership关系例子。

UML提供了关联类(association class)用于构建被实化的关系类型。关联类既是关联又是类。[6]

参见 编辑

参考文献 编辑

  1. ^ The Java Language Specification, section 4.7 (页面存档备份,存于互联网档案馆), Java SE 7 Edition
  2. ^ Smalltalk Blocks And Closures. C2.com. 2009-10-15 [2010-10-09]. (原始内容于2010-02-06). 
  3. ^ J. Malenfant, M. Jacques and F.-N. Demers, A Tutorial on Behavioral Reflection and its Implementation (页面存档备份,存于互联网档案馆
  4. ^ Formal Methods Europe, Frequently Asked Questions, part 13 (页面存档备份,存于互联网档案馆).
  5. ^ Antoni Olivé, Conceptual Modeling of Information Systems, Springer Verlag, 2007.
  6. ^ Unified Modeling Language, UML superstructure, Object Management Group, 2007-11-02.

实化, 在计算机科学中, 英語, reification, 是把抽象的想法, idea, 转化为明确的数据模型或程序设计语言创建的其他对象的过程, 通过, 以前是隐式的, 未表示的, 可能是不可表示的被显式形成可概念, 逻辑或计算, 操作的, 非正式地, 也常被称作在特定系统范围内把某些东西变为, 头等公民, 即物件化, 是概念分析与知识表示中最常用的技术, 目录, 在程序设计语言中的与反射, 数据, 概念建模中的, 在uml中, 参见, 参考文献在程序设计语言中的与反射, 编辑在程序设计语言中, 把用户程序或者程. 在计算机科学中 实化 英語 reification 是把抽象的想法 idea 转化为明确的数据模型或程序设计语言创建的其他对象的过程 通过实化 以前是隐式的 未表示的 可能是不可表示的被显式形成可概念 逻辑或计算 操作的 非正式地 实化也常被称作在特定系统范围内把某些东西变为 头等公民 即物件化 实化是概念分析与知识表示中最常用的技术 目录 1 在程序设计语言中的实化与反射 2 数据实化 3 概念建模中的实化 4 实化在UML中 5 参见 6 参考文献在程序设计语言中的实化与反射 编辑在程序设计语言中 把用户程序或者程序设计语言某一部分本来在编译期与运行期是隐式的 表示为语言自身 这一过程称为实化 这使得其对程序可当作普通数据来利用 在具有反射的程序设计语言中 实化的数据表示了相关的被实化的领域 实化的数据常被称作头等对象 C语言中 把内存地址的底层细节实化为指针 例如 char buffer char 0xB800000 基于l演算的函数式程序设计语言 把过程抽象 procedure abstraction 与过程应用 procedure application 的概念实化为l表达式 Scheme语言实化了计算续体 粗略说近似于运行期上下文环境 C 实化了参数多态为多态 成为语言的头等特征 Java中存在 可实化的类型 reifiable types 其编译期信息在运行期保留并可完全利用 1 REBOL实化了代码与数据的相互转换 许多语言 如Lisp JavaScript和Curl等 提供了eval或evaluate过程使其有解释器的功能 Prolog语言的Logtalk 英语 Logtalk 框架提供了逻辑程序设计上下文的实化 Smalltalk与演员模型的语言实化了块 block 与消息 2 Smalltalk 80把源代码编译为字节码 这是首例 3 数据实化 编辑数据实化涉及在形式规范 英语 formal specification 中找到抽象数据类型的更为具体的表示 4 例如 抽象数据类型集合 set 可以用map或者array来实化 概念建模中的实化 编辑概念建模 英语 Conceptual model computer science 中广泛使用了实化 5 实化一个关系 relationship 意味着把它视作一个实体 实化一个关系的目的是令其显式 必要时可以增加额外的信息 例如 关系IsMemberOf member Person Committee 表示某人是某委员会的成员 下图左侧用表的形式列出了人P1是委员会C1与C2的成员 人P2是委员会C1成员 nbsp Example population of 关系IsMemberOf的实化 这一关系 也可看作实体 见图示的右侧 称作该实体实化了这个关系 这个实体类型为Membership 现在 可以给这个关系实体增加新的信息 如某人属于某委员会是由谁来提名加入的 可表示为IsNominatedBy Membership Person 与其密切相关的用法见实化 知识表示 英语 Reification knowledge representation 实化在UML中 编辑 nbsp UML的类图表示Membership关系例子 UML提供了关联类 association class 用于构建被实化的关系类型 关联类既是关联又是类 6 参见 编辑查看维基词典中的词条 reification 指称语义 形式语义学 操作语义学参考文献 编辑 The Java Language Specification section 4 7 页面存档备份 存于互联网档案馆 Java SE 7 Edition Smalltalk Blocks And Closures C2 com 2009 10 15 2010 10 09 原始内容存档于2010 02 06 J Malenfant M Jacques and F N Demers A Tutorial on Behavioral Reflection and its Implementation 页面存档备份 存于互联网档案馆 Formal Methods Europe Frequently Asked Questions part 13 页面存档备份 存于互联网档案馆 Antoni Olive Conceptual Modeling of Information Systems Springer Verlag 2007 Unified Modeling Language UML superstructure Object Management Group 2007 11 02 取自 https zh wikipedia org w index php title 实化 amp oldid 78602802, 维基百科,wiki,书籍,书籍,图书馆,

文章

,阅读,下载,免费,免费下载,mp3,视频,mp4,3gp, jpg,jpeg,gif,png,图片,音乐,歌曲,电影,书籍,游戏,游戏。