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.
Посилання
- Embarcadero Delphi. Архів оригіналу за 25 червня 2013. Процитовано 8 червня 2012. (англ.)
- FAQ по Delphi. Архів оригіналу за 25 червня 2013. Процитовано 25 серпня 2009. (рос.)