fbpx
维基百科

Object Pascal

Object PascalPascal编程语言面向对象的衍生分支,是Delphi支持的主要编程语言。Pascal编译器,包括那些Object Pascal编译器,在生成高优化代码同时,一般运行非常快。

Object Pascal
编程范型指令式結構化編程面向对象函數程式語言 (仅Delphi支持)
設計者Apple, Niklaus Wirth, Anders Hejlsberg
发行时间1986年,​37年前​(1986
型態系統static and dynamic(dynamic typing through Variants, array of const and RTTI), strong, safe
主要實作產品
Delphix86 and CLI), Oxygene英语OxygeneCLI), Free Pascalx86, x86-64, PowerPC, ppc64, SPARC and ARM), Lazarusx86, x86-64), Virtual Pascal英语Virtual Pascalx86), TMT Pascal(x86), Turbo51英语Turbo51Intel 8051
衍生副語言
Apple, Turbo Pascal, objfpc, Delphi, Delphi.NET, Oxygene英语Oxygene
啟發語言
Pascal, Simula, Smalltalk
影響語言
C#, Java

版本

总而言之,Object Pascal现在笼统地用来指有面向对象编程扩展的Pascal语言的不同方言,虽然这些方言绝大多数与CodeGear实现兼容。

  • Borland将第一版Delphi的编程语言命名为Object Pascal,但是后来将其重命名为Delphi编程语言。然而,宣称兼容Object Pascal的编译器通常试图兼容Delphi源代码。
  • CodeGear,Borland的前子公司,现在是Embarcadero Technologies的一部分,将编译Object Pascal代码到Windows上的集成开发环境(IDE)出售了。
  • .NET存在的对从Delphi 8到Delphi 2005,Delphi 2006和Delphi 2007的支持现在已被另外的语言Oxygene(参见下面)替代,不完全向后兼容。
  • Lazarus是类似Delphi的Object Pascal语言集成开发环境,使用Free Pascal编译器,是一款开放源代码的自由软件。
  • Oxygene编程语言由RemObjects Software开发,单独针对通用语言架构。Oxygene编译器已纳入Embarcadero拥有的命名为Delphi Prism的一个新的Delphi开发解决方案,它是Microsoft Visual Studio的基础。
  • Morfik Pascal编程语言由Morfik开发,针对支持Ajax的Web应用。Morfik编译器已纳入该公司的AppsBuilder IDE,允许Object Pascal代码用于实现将同时在浏览器和服务器上运行的代码。
  • MIDletPascal旨在Java字节代码平台。
  • 开源GNU Pascal编译器可用于GNU编译器集合的一个前端,它实现了ISO 7185 Pascal标准和ISO 10206扩展Pascal标准的“大部分”。
  • 也是自由编译器的Turbo51用于为Intel 8051芯片生成代码。
  • WDSybil,一个开源的可用于Microsoft WindowsOS/2的类Delphi的IDE和编译器,最初由一个叫做Speedsoft的公司发布的商业Borland Pascal兼容环境,后来在一个叫做Sybil的类Delphi RAD里开发,然后在公司关闭时在GPL下开放源代码。

在Apple的早期历史

Object Pascal是对Pascal语言的扩展,它是Apple Computer的一个由拉里·泰斯勒领导,Pascal的发明者尼克劳斯·维尔特提供咨询的小组开发的。它继承自一个用于Lisa计算机的称作Clascal的Pascal的面向对象的早期版本。

为了支持一个现在叫做类库的可扩展Macintosh应用框架MacApp,Object Pascal是必要的。Object Pascal扩展和MacApp本身是由Barry Haynes,Ken Doyle和Larry Rosenstein开发的,Dan Allen测试的。拉里·泰斯勒监督该项目,开始于1985年早期,在1986年成为一个产品。

Apple在1994年从Motorola 68K芯片转移到IBM's PowerPC架构时,删除了对Object Pascal的支持。

一个Object Pascal扩展也在Think Pascal IDE里实现过。该IDE包括编译器,一个语法高亮和检查的编辑器,一个强大的调试器和一个类库。许多开发者首选Think Pascal,而不是MacApp,因为它提供了工具的紧密集成。在4.01之后,开发停止了,因为Symantec购买了该公司。开发人员然后离开了该项目。

Borland和CodeGear的年代

在1986年,Borland将也称作Object Pascal的类似扩展引进到Macintosh的Turbo Pascal产品里;在1989年,引进到DOS的Turbo Pascal 5.5。

当Borland在1994年将重点从MS-DOS调整到Windows时,它们创造了Turbo Pascal的一个叫做Delphi的继任者,并引进了创建现在称作Delphi语言的一系列新的扩展。

Delphi的开发开始于1993年,1995年2月14日在美国官方发布了Delphi 1.0。那时,使用Turbo Pascal对象模型的代码仍旧能被编译,Delphi的特性有:先于object使用关键字class的新语法,Create构建器和虚拟的Destroy析构器(并否定了必须调用NewDispose过程),属性,方法指针和一些其它特性。这些是ISO面向对象扩展工作草案所鼓励的,但是许多与Turbo Pascal方言的差异(例如草案要求所有的方法是虚拟的)被忽略了。

Delphi语言在遍及支持诸如64位整数和动态数组的新语言概念的年代里继续演化。

编译器

现在有许多编译器,绝大多数兼容Delphi的Object Pascal语言。许多是为了让Object Pascal在不同平台上和各种许可下编译而创建的。

  • Delphi可能是最知名的编译器了。它针对Win16(Delphi 1),Win32(Delphi 2+)和.NET 1.x, 2.0(Delphi 8,Delphi 2005 - 2007)。
  • Borland Kylix是Delphi的Linux变种,仅针对使用Qt的Intel 32位Linux。它不再更新了。现代分发通常不运行于其箱体外。
  • Free Pascal是一个命令行编译器,目标是与Turbo Pascal和Delphi方言的核心特性集的源兼容性。现在的版本,2.2是高兼容Delphi 6或7。[來源請求] FPC为各种操作系统下的x86x86-64PowerPCSPARCARM处理器生成代码,这些操作系统包括Win32Win64LinuxFreeBSDMac OSMac OS X(包括Xcode集成工具)。除了命令行用法,几个开发环境可用于Free Pascal,尤其是Lazarus IDE。
  • GNU Pascal英语GNU PascalGCC的一个分离分发部分)在正式地不针对Pascal的CodeGear方言的同时,它包含一个Borland Pascal兼容模式,非常慢地纳入一些Delphi语言的特性。它不适于直接重编译Delphi代码的巨大的体,值得注意地是为操作系统和硬件架构提供了丰富的支持。
  • Virtual Pascal英语Virtual Pascal是一个兼容x86 32位Turbo Pascal和Delphi的编译器,主要针对OS/2和Windows,虽然它也开发了一个DOS+ 扩展器和一个实验性的Linux交叉编译器。该编译器的开发在大约Delphi V2层次时停止了;它的站点从2007年关闭,Virtual Pascal的开发也停止了。
  • Oxygene英语Oxygene (programming language)(正式地称作Chrome)是一个Object Pascal编译器,来自于整合进Microsoft Visual StudioRemObjects Software英语RemObjects Software。它也可用作本地运行在CLI上的自由命令行编译器。它针对.NET和Mono平台。
  • MIDletPascal英语MIDletPascal是一个生成J2ME字节代码的手机应用开发工具。
  • PocketStudio英语PocketStudio是一个Palm OS的基于Pascal的IDE

解释器

Pascal Script(正式地称作InnerFuse)是一个开源的用Delphi编写的Object Pascal 解释器/脚本引擎。支持有限的Object Pascal子集。

"Hello World"程序样本

Apple的Object Pascal

program ObjectPascalExample; type THelloWorld = object procedure Put; end; var HelloWorld: THelloWorld; procedure THelloWorld.Put; begin WriteLn('Hello, World!'); end; begin New(HelloWorld); HelloWorld.Put; Dispose(HelloWorld); end. 

Turbo Pascal的Object Pascal

在Delphi和Free Pascal里仍然支持这种Object Pascal。FPC也将自己的(这种Object Pascal)库/单元的替代品打包。Delphi不这样做。Free Pascal 1.0系列和FPC文本模式IDE是这种方言的最大的开发代码库。Free Pascal 2.0以更类似Delphi的方言重写了。

program ObjectPascalExample; type PHelloWorld = ^THelloWorld; THelloWorld = object procedure Put; end; var HelloWorld: PHelloWorld; {这是一个指向THelloWorld的指针} procedure THelloWorld.Put; begin WriteLn('Hello, World!'); end; begin New(HelloWorld); HelloWorld^.Put; Dispose(HelloWorld); end. 

Delphi和Free Pascal的Object Pascal

program ObjectPascalExample; type THelloWorld = class procedure Put; end; procedure THelloWorld.Put; begin Writeln('Hello, World!'); end; var HelloWorld: THelloWorld; {这是一个隐式指针} begin HelloWorld := THelloWorld.Create; {构建器返回一个指针} HelloWorld.Put; HelloWorld.Free; {本行解除引用指针} end. 

注意,对象构建器在Delphi和Free Pascal(Delphi兼容模式)里仍然有效。

Oxygene的Object Pascal

namespace ObjectPascalExample; interface type ConsoleApp = class class method Main end; THelloWorld = class method Put; end; implementation method THelloWorld.Put; begin Console.WriteLine('Hello, World!'); end; class method ConsoleApp.Main; begin var HelloWorld := new THelloWorld; HelloWorld.Put; end; end. 

进展

通过扩展Delphi,许多特性已持续地引进Object Pascal,现在Free Pascal也引进了一些特性。为了应对批评,Free Pascal已接纳了泛型,并且Delphi和Free Pascal现在都支持操作符重载(尽管使用不同的语法)。Delphi从版本7[2]也引进了包括泛型的许多其它特性。

参见

参考

  1. ^ iPhone/iPod development. Free Pascal development team. [2009-04-13]. 
  2. ^ New Delphi language features since Delphi 7. CodeGear. [2008-07-06]. 

外部链接

Embarcadero

  • Embarcadero Delphi
  • Delphi 2006和Delphi 2007里的新语言特性
  • 关于Delphi社区
  • Delphi Wiki
  • Torry的Delphi页面
  • Delphi教程
  • 俄罗斯Delphi俱乐部
  • Object Pascal风格指南

RemObjects Software

  • RemObjects Oxygene主页
  • RemObjects Oxygene官方Wiki

Object Pascal介绍

  • Delphi初学者
  • MacTech 1985年12卷第2期

Delphi社区

  • Delphi基础论坛,教程和示例
  • Delphi页面
  • Torry的Delphi页面
  • 初学者的自由Delphi源代码
  • About.com的Delphi编程
  • Merlin的Delphi锻造

Free Pascal的Object Pascal参考指南

  • 当前版本的Object Pascal参考指南(html)

Object Pascal工具

  • MSEide+MSEgui
  • Lazarus IDE
  • Powtils Web Kit

GNU Pascal

  • GNU Pascal(GPC)信息
  • GPC与Mac Pascal的区别页面

paxCompiler

  • 嵌入式Pascal编译器

WDSybil

  • WDSybil主页

object, pascal, 是pascal编程语言的面向对象的衍生分支, 是delphi支持的主要编程语言, pascal编译器, 包括那些编译器, 在生成高优化代码同时, 一般运行非常快, 编程范型指令式, 結構化編程, 面向对象, 函數程式語言, 仅delphi支持, 設計者apple, niklaus, wirth, anders, hejlsberg发行时间1986年, 37年前, 1986, 型態系統static, dynamic, dynamic, typing, through, variants. Object Pascal是Pascal编程语言的面向对象的衍生分支 是Delphi支持的主要编程语言 Pascal编译器 包括那些Object Pascal编译器 在生成高优化代码同时 一般运行非常快 Object Pascal编程范型指令式 結構化編程 面向对象 函數程式語言 仅Delphi支持 設計者Apple Niklaus Wirth Anders Hejlsberg发行时间1986年 37年前 1986 型態系統static and dynamic dynamic typing through Variants array of const and RTTI strong safe主要實作產品Delphi x86 and CLI Oxygene 英语 Oxygene CLI Free Pascal x86 x86 64 PowerPC ppc64 SPARC and ARM Lazarus x86 x86 64 Virtual Pascal 英语 Virtual Pascal x86 TMT Pascal x86 Turbo51 英语 Turbo51 Intel 8051 衍生副語言Apple Turbo Pascal objfpc Delphi Delphi NET Oxygene 英语 Oxygene 啟發語言Pascal Simula Smalltalk影響語言C Java 目录 1 版本 2 在Apple的早期历史 3 Borland和CodeGear的年代 4 编译器 5 解释器 6 Hello World 程序样本 6 1 Apple的Object Pascal 6 2 Turbo Pascal的Object Pascal 6 3 Delphi和Free Pascal的Object Pascal 6 4 Oxygene的Object Pascal 7 进展 8 参见 9 参考 10 外部链接 10 1 Embarcadero 10 2 RemObjects Software 10 3 Object Pascal介绍 10 4 Delphi社区 10 5 Free Pascal的Object Pascal参考指南 10 6 Object Pascal工具 10 7 GNU Pascal 10 8 paxCompiler 10 9 WDSybil版本 编辑总而言之 Object Pascal现在笼统地用来指有面向对象编程扩展的Pascal语言的不同方言 虽然这些方言绝大多数与CodeGear实现兼容 Borland将第一版Delphi的编程语言命名为Object Pascal 但是后来将其重命名为Delphi编程语言 然而 宣称兼容Object Pascal的编译器通常试图兼容Delphi源代码 CodeGear Borland的前子公司 现在是Embarcadero Technologies的一部分 将编译Object Pascal代码到Windows上的集成开发环境 IDE 出售了 NET存在的对从Delphi 8到Delphi 2005 Delphi 2006和Delphi 2007的支持现在已被另外的语言Oxygene 参见下面 替代 不完全向后兼容 Lazarus是类似Delphi的Object Pascal语言集成开发环境 使用Free Pascal编译器 是一款开放源代码的自由软件 Oxygene编程语言由RemObjects Software开发 单独针对通用语言架构 Oxygene编译器已纳入Embarcadero拥有的命名为Delphi Prism的一个新的Delphi开发解决方案 它是Microsoft Visual Studio的基础 Morfik Pascal编程语言由Morfik开发 针对支持Ajax的Web应用 Morfik编译器已纳入该公司的AppsBuilder IDE 允许Object Pascal代码用于实现将同时在浏览器和服务器上运行的代码 开源Free Pascal项目允许为广泛的操作系统 包括Linux 32位和64位 FreeBSD Mac OS Mac OS X Win32 Win64和Windows CE 和几个不同硬件架构编译该语言 iPhone SDK 2 x的第一版Free Pascal已于2009年1月17日发布 1 现在它也支持嵌入式 ARM MIDletPascal旨在Java字节代码平台 开源GNU Pascal编译器可用于GNU编译器集合的一个前端 它实现了ISO 7185 Pascal标准和ISO 10206扩展Pascal标准的 大部分 也是自由编译器的Turbo51用于为Intel 8051芯片生成代码 WDSybil 一个开源的可用于Microsoft Windows和OS 2的类Delphi的IDE和编译器 最初由一个叫做Speedsoft的公司发布的商业Borland Pascal兼容环境 后来在一个叫做Sybil的类Delphi RAD里开发 然后在公司关闭时在GPL下开放源代码 在Apple的早期历史 编辑Object Pascal是对Pascal语言的扩展 它是Apple Computer的一个由拉里 泰斯勒领导 Pascal的发明者尼克劳斯 维尔特提供咨询的小组开发的 它继承自一个用于Lisa计算机的称作Clascal的Pascal的面向对象的早期版本 为了支持一个现在叫做类库的可扩展Macintosh应用框架MacApp Object Pascal是必要的 Object Pascal扩展和MacApp本身是由Barry Haynes Ken Doyle和Larry Rosenstein开发的 Dan Allen测试的 拉里 泰斯勒监督该项目 开始于1985年早期 在1986年成为一个产品 Apple在1994年从Motorola 68K芯片转移到IBM s PowerPC架构时 删除了对Object Pascal的支持 一个Object Pascal扩展也在Think Pascal IDE里实现过 该IDE包括编译器 一个语法高亮和检查的编辑器 一个强大的调试器和一个类库 许多开发者首选Think Pascal 而不是MacApp 因为它提供了工具的紧密集成 在4 01之后 开发停止了 因为Symantec购买了该公司 开发人员然后离开了该项目 Borland和CodeGear的年代 编辑在1986年 Borland将也称作Object Pascal的类似扩展引进到Macintosh的Turbo Pascal产品里 在1989年 引进到DOS的Turbo Pascal 5 5 当Borland在1994年将重点从MS DOS调整到Windows时 它们创造了Turbo Pascal的一个叫做Delphi的继任者 并引进了创建现在称作Delphi语言的一系列新的扩展 Delphi的开发开始于1993年 1995年2月14日在美国官方发布了Delphi 1 0 那时 使用Turbo Pascal对象模型的代码仍旧能被编译 Delphi的特性有 先于object使用关键字class的新语法 Create构建器和虚拟的Destroy析构器 并否定了必须调用New和Dispose过程 属性 方法指针和一些其它特性 这些是ISO面向对象扩展工作草案所鼓励的 但是许多与Turbo Pascal方言的差异 例如草案要求所有的方法是虚拟的 被忽略了 Delphi语言在遍及支持诸如64位整数和动态数组的新语言概念的年代里继续演化 编译器 编辑现在有许多编译器 绝大多数兼容Delphi的Object Pascal语言 许多是为了让Object Pascal在不同平台上和各种许可下编译而创建的 Delphi可能是最知名的编译器了 它针对Win16 Delphi 1 Win32 Delphi 2 和 NET 1 x 2 0 Delphi 8 Delphi 2005 2007 Borland Kylix是Delphi的Linux变种 仅针对使用Qt的Intel 32位Linux 它不再更新了 现代分发通常不运行于其箱体外 Free Pascal是一个命令行编译器 目标是与Turbo Pascal和Delphi方言的核心特性集的源兼容性 现在的版本 2 2是高兼容Delphi 6或7 來源請求 FPC为各种操作系统下的x86 x86 64 PowerPC SPARC和ARM处理器生成代码 这些操作系统包括Win32 Win64 Linux FreeBSD Mac OS和Mac OS X 包括Xcode集成工具 除了命令行用法 几个开发环境可用于Free Pascal 尤其是Lazarus IDE GNU Pascal 英语 GNU Pascal GCC的一个分离分发部分 在正式地不针对Pascal的CodeGear方言的同时 它包含一个Borland Pascal兼容模式 非常慢地纳入一些Delphi语言的特性 它不适于直接重编译Delphi代码的巨大的体 值得注意地是为操作系统和硬件架构提供了丰富的支持 Virtual Pascal 英语 Virtual Pascal 是一个兼容x86 32位Turbo Pascal和Delphi的编译器 主要针对OS 2和Windows 虽然它也开发了一个DOS 扩展器和一个实验性的Linux交叉编译器 该编译器的开发在大约Delphi V2层次时停止了 它的站点从2007年关闭 Virtual Pascal的开发也停止了 Oxygene 英语 Oxygene programming language 正式地称作Chrome 是一个Object Pascal编译器 来自于整合进Microsoft Visual Studio的RemObjects Software 英语 RemObjects Software 它也可用作本地运行在CLI上的自由命令行编译器 它针对 NET和Mono平台 MIDletPascal 英语 MIDletPascal 是一个生成J2ME字节代码的手机应用开发工具 PocketStudio 英语 PocketStudio 是一个Palm OS的基于Pascal的IDE 解释器 编辑Pascal Script 正式地称作InnerFuse 是一个开源的用Delphi编写的Object Pascal 解释器 脚本引擎 支持有限的Object Pascal子集 Hello World 程序样本 编辑Apple的Object Pascal 编辑 program ObjectPascalExample type THelloWorld object procedure Put end var HelloWorld THelloWorld procedure THelloWorld Put begin WriteLn Hello World end begin New HelloWorld HelloWorld Put Dispose HelloWorld end Turbo Pascal的Object Pascal 编辑 在Delphi和Free Pascal里仍然支持这种Object Pascal FPC也将自己的 这种Object Pascal 库 单元的替代品打包 Delphi不这样做 Free Pascal 1 0系列和FPC文本模式IDE是这种方言的最大的开发代码库 Free Pascal 2 0以更类似Delphi的方言重写了 program ObjectPascalExample type PHelloWorld THelloWorld THelloWorld object procedure Put end var HelloWorld PHelloWorld 这是一个指向THelloWorld的指针 procedure THelloWorld Put begin WriteLn Hello World end begin New HelloWorld HelloWorld Put Dispose HelloWorld end Delphi和Free Pascal的Object Pascal 编辑 program ObjectPascalExample type THelloWorld class procedure Put end procedure THelloWorld Put begin Writeln Hello World end var HelloWorld THelloWorld 这是一个隐式指针 begin HelloWorld THelloWorld Create 构建器返回一个指针 HelloWorld Put HelloWorld Free 本行解除引用指针 end 注意 对象构建器在Delphi和Free Pascal Delphi兼容模式 里仍然有效 Oxygene的Object Pascal 编辑 namespace ObjectPascalExample interface type ConsoleApp class class method Main end THelloWorld class method Put end implementation method THelloWorld Put begin Console WriteLine Hello World end class method ConsoleApp Main begin var HelloWorld new THelloWorld HelloWorld Put end end 进展 编辑通过扩展Delphi 许多特性已持续地引进Object Pascal 现在Free Pascal也引进了一些特性 为了应对批评 Free Pascal已接纳了泛型 并且Delphi和Free Pascal现在都支持操作符重载 尽管使用不同的语法 Delphi从版本7 2 也引进了包括泛型的许多其它特性 参见 编辑Borland Kylix 编程语言比较 Free Pascal Hello world程序参考 编辑 iPhone iPod development Free Pascal development team 2009 04 13 New Delphi language features since Delphi 7 CodeGear 2008 07 06 外部链接 编辑Embarcadero 编辑 Embarcadero Delphi NET的Embarcadero Delphi Prism Delphi 2006和Delphi 2007里的新语言特性 Delphi基础 自由源代码 关于Delphi社区 Delphi Wiki Torry的Delphi页面 Delphi教程 俄罗斯Delphi俱乐部 Object Pascal风格指南RemObjects Software 编辑 RemObjects Oxygene主页 RemObjects Oxygene官方Wiki RemObjects Oxygene开发人员资源 文章和视频Object Pascal介绍 编辑 Delphi初学者 Delphi初学者信息收集web站点 探索Delphi MacTech 1985年12卷第2期Delphi社区 编辑 Delphi基础论坛 教程和示例 Delphi页面 Torry的Delphi页面 初学者的自由Delphi源代码 About com的Delphi编程 Merlin的Delphi锻造Free Pascal的Object Pascal参考指南 编辑 当前版本的Object Pascal参考指南 PDF 当前版本的Object Pascal参考指南 html Free Pascal对Mac Pascal扩展状态页面Object Pascal工具 编辑 MSEide MSEgui Lazarus IDE Powtils Web KitGNU Pascal 编辑 GNU Pascal GPC 信息 GPC与Mac Pascal的区别页面paxCompiler 编辑 嵌入式Pascal编译器WDSybil 编辑 WDSybil主页 取自 https zh wikipedia org w index php title Object Pascal amp oldid 75304281, 维基百科,wiki,书籍,书籍,图书馆,

文章

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