Object Pascal — Вікіпедія

Object Pascal
Delphi's-like logo
Парадигмаімперативна, структурна, об'єктно-орієнтована
Дата появи1986
ТворціНіклаус Вірт, Андерс Гейлсберг
РозробникLarry Teslerd і Ніклаус Вірт
Система типізаціїстатична і динамічна , строга, безпечна
Основні реалізаціїDelphi (x86 та CLI), Oxygene (CLI), Free Pascal (x86, x86-64, PowerPC, ppc64, Sparc та ARM), Virtual Pascal (x86), TMT Pascal (x86), Turbo51 (Intel 8051)
ДіалектиApple, Turbo Pascal, objfpc, Delphi, Delphi.NET, Oxygene
Під впливом відPascal, Smalltalk
Вплинула наC#, Java
Звичайні розширення файлів.p, .pp або .pas

Object Pascal — об'єктно-орієнтована мова програмування, нащадок Pascal, більш знана як основна мова програмування середовища Delphi.

Історія назви

[ред. | ред. код]

В 1986 році фірма Apple розробила об'єктне розширення мови програмування Pascal, яке стали називати Object Pascal[джерело?]. В 1989 році компанія Borland внесла аналогічні зміни в систему Turbo Pascal 5.5, мова якої відтоді стала об'єктно-орієнтованою. Із часом, до мови програмування Turbo Pascal вносили нові зміни, що розширювали її об'єктно-орієнтовані можливості. В 1995 році було випущено інтегроване середовище розробки Borland Delphi 1.0, мовою програмування якої був Object Pascal (на основі Turbo Pascal). Назва Object Pascal застосовувалась і в наступних версіях Borland Delphi. Проте з часом сторонні розробники почали застосовувати таку назву для власних версій Pascal. 2001 року, із випуском Delphi 6.0, компанія Borland відмовилася від назви Object Pascal і назвала мову програмування, що застосована в Borland Delphi, мовою програмування Delphi.

Компілятори

[ред. | ред. код]

Є багато компіляторів, більш чи менш сумісних з Delphi Object Pascal. Вони дозволяють будувати програми на Object Pascal для різноманітних платформ та підпадають під різні ліцензії. Компілятори, що заявлені як Object Pascal-сумісні, дуже часто намагаються бути сумісними із вихідними кодами Delphi.

Приклади програми «Hello, world!»

[ред. | ред. код]

Object Pascal (Apple)

[ред. | ред. код]
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. 

Object Pascal (Turbo Pascal)

[ред. | ред. код]
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. 

Object Pascal (Delphi та Free 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. 

Object Pascal (Oxygene)

[ред. | ред. код]
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. 

Службові слова

[ред. | ред. код]

Додаткові службові слова для підтримки об'єктно-орієнтованого програмування:

object class public virtual constructor destructor 

Див. також

[ред. | ред. код]

Джерела

[ред. | ред. код]
  • Глинський Я. М. Інформатика — алгоритмізація і програмування. — Львів, 2005.

Посилання

[ред. | ред. код]
  • Embarcadero Delphi. Архів оригіналу за 25 червня 2013. Процитовано 8 червня 2012. (англ.)
  • FAQ по Delphi. Архів оригіналу за 25 червня 2013. Процитовано 25 серпня 2009. (рос.)