Difference between revisions of "Object/fr"

From Free Pascal wiki
Jump to navigationJump to search
m
m (Fixed syntax highlighting)
 
Line 4: Line 4:
  
 
Exemple de squelette de création de type de données Object :
 
Exemple de squelette de création de type de données Object :
<syntaxhighlight>
+
<syntaxhighlight lang=pascal>
 
type
 
type
 
   TTest = object
 
   TTest = object
Line 16: Line 16:
 
Exemple de squelette de création de type de données Object compacté :
 
Exemple de squelette de création de type de données Object compacté :
  
<syntaxhighlight>
+
<syntaxhighlight lang=pascal>
 
type
 
type
 
   TTest = packed object
 
   TTest = packed object
Line 28: Line 28:
 
Exemple avec constructeur et destructeur:
 
Exemple avec constructeur et destructeur:
  
<syntaxhighlight>
+
<syntaxhighlight lang=pascal>
 
type
 
type
 
   TTest = object
 
   TTest = object
Line 80: Line 80:
 
== Voir aussi ==
 
== Voir aussi ==
 
[[Programming Using Objects/fr|Programmation utilisant des Objects]]
 
[[Programming Using Objects/fr|Programmation utilisant des Objects]]
<br/>
 

Latest revision as of 13:22, 21 February 2020

Deutsch (de) English (en) français (fr)

Le mot réservé object est utilisé pour construire des types de donnée complexes contenant à la fois des données et des routines. Les Object permettent à l'utilisateur de faire de la programmation objet (POO). Cela ressemble à la classe dans les types que l'on peut créer mais par défaut les Object sont créés sur la pile alors que les objets (instances de classe) sont créés sur le tas. Toutefois, les Objects peuvent être créés sur le tas en utilisant la procédure New. Les Objects ont été introduits dans Turbo Pascal alors que les Classes ont été introduites dans Delphi. Les Objects sont conservés pour assurer la compatibilité descendante et sont largement surpassés par les Classes.

Exemple de squelette de création de type de données Object :

type
  TTest = object
  private
    { private declarations }
  public
    { public declarations }
  end;

Exemple de squelette de création de type de données Object compacté :

type
  TTest = packed object
  private
    { private declarations }
  public
    { public declarations }
  end;

Exemple avec constructeur et destructeur:

type
   TTest = object
   private 
     {private declarations}
     total_errors : Integer;
   public
     {public declarations}
     constructor Init;
     destructor Done;
     procedure IncrementErrors;
     function GetTotalErrors : Integer;
   end;

procedure TTest.IncrementErrors;
begin
  Inc(total_errors);
end;
    
function TTest.GetTotalErrors : Integer;
begin
   GetTotalErrors := total_errors;
end;

constructor TTest.Init;
begin
  total_errors := 0;
end;

destructor TTest.Done;
begin
   WriteLn('Destructor not needed - nothing allocated on the heap');
end;

var
   error_counter: TTest;

begin
   error_counter.Init; // unlike C++, constructors must be explicitly called
   error_counter.IncrementErrors;
   error_counter.IncrementErrors;
   WriteLn('current errors:', error_counter.GetTotalErrors);
   error_counter.Done
end.

Sortie:
current errors:2
Destructor not needed - nothing allocated on the heap

Voir aussi

Programmation utilisant des Objects