Object Pascal

Un article de Wikipédia, l'encyclopédie libre.

image:Langage_progr.png
Cet article fait partie de la série
langages de programmation
Langages à objets
C++ - C# - D
Eiffel - Groovy - Java
Lisaac - Python - Ruby
Simula - Smalltalk
Langages impératifs
APL - ASP - Assembleur
BASIC - C - COBOL - Natural
Forth - Fortran - Limbo - Logo
Pascal - Perl - PHP - TCL
Visual Basic - WLangage
Langages fonctionnels
Haskell - ML/OCaml
Lisp/Common Lisp
Scheme - XSLT
Langages déclaratifs
Clips - Prolog
Langages concurrents
Ada 95 - Erlang
Voir aussi
Conception - Codage
Tests - Optimisations


Object Pascal est un langage orienté objet dérivé du Pascal. Il a été créé en 1990 par la société Borland comme une amélioration de son logiciel phare de l'époque Turbo Pascal. Il s'agissait alors de la version 5.5. Même si l'ajout de l'objet au Turbo Pascal s'est opéré en douceur et a été vendu par Borland comme une simple et logique amélioration de Turbo Pascal, cela n'en a pas moins révolutionné ce langage et la communauté de développeurs qui lui était associé. Les autres éditeurs produisant des compilateurs Pascal étant dans l'obligation de suivre le mouvement en ajoutant l'objet, tel que défini par Borland.

Le Pascal Objet prend un nouvel essor en 1995 avec la sortie de Delphi 1 toujours à l'initiative de Borland.

[modifier] Déclaration d'un type objet

type
   TMonObjet = object
     chaine: string;
     constructor NouvelObjet;
     destructor DetruitObjet;
     procedure ObjetExec;
   end;

constructor TMonObjet.NouvelObjet;
begin
  chaine := 'Hello';
end;

destructor TMonObjet.DetruitObjet;
begin
   { rien à faire }
end;

procedure TMonObjet.ObjetExec;
begin
  WriteLn(chaine);
end;

Remarque : le mot-clé object a été accompagné du mot-clé class avec Delphi. Les deux sont des types objets mais avec quelques légères différences. Par exemple une classe est implicitement un pointeur, c'est à dire que le pointeur est créé et géré de manière implicite et transparente sans que le programmeur doivent s'en occuper, tandis qu'un objet n'est pas automatiquement pointé, le programmeur devant le pointer manuellement et quasi systématiquement.

[modifier] Utilisation d'un objet

En utilisant la définition ci-dessus :

var
   Obj: TMonObjet;

begin
   Obj := TMonObjet.NouvelObjet;    
   Obj.Chaine := 'Abracadabra';
   Obj.ObjetExec;  { Affiche 'Abracadabra' }
   Obj.DetruitObjet;
end;

[modifier] Informations supplémentaires