Object Pascal

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

Object Pascal
Парадигма імперативна, структурна, об'єктно-орієнтована
Дата появи 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

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

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

Компілятори

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

  • Delphi є, мабуть, найвідомішим компілятором. Дозволяє компілювати для Win16 (Delphi 1), Win32 (Delphi 2+), Win64 (Delphi XE2+), для .NET 1.x, 2.0 (Delphi 8, Delphi 2005–2007), Mac OS (Delphi XE2+), iOS (Delphi XE2+) та Android (Delphi XE5+).
  • Borland Kylix — спроба розробити варіант Delphi для Linux.
  • Free Pascal
  • GNU Pascal
  • Virtual Pascal
  • Oxygene
  • MIDletPascal
  • PocketStudio

Приклади програми «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.

Посилання

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.