Class/fr

From Free Pascal wiki
Jump to: navigation, search

Deutsch (de) English (en) français (fr) русский (ru)


Une classe est un type de données hautement structuré dans les dialectes Objets de Pascal. Les classes sont en mesure de contenir des variables, des constructeurs, des destructeurs, des fonctions, des procédures et des propriétés en définissant la visiblité.

Une autre chose intéressante sur les classes est qu'elles libèrent le développeur du besoin des pointeurs et le déréférencement de pointeur. Elles sont automatiquement prises en charge par le compilateur à la compilation.

Les classes sont capables d'hériter ou d'être héritées par d'autres classes, une classe fille hérite d'une classe parent. Toute classe qui ne précise pas sa classe mère dérive (hérite) implicitement de TObject qui a des caractéristiques nécéssaires à toutes les classes. Du fait de la dépendance à TObject, tout destructeur d'une sous-classe doit avoir la directive override. En plus, le destructeur doit spécifier inherited dans son corps. Cela n'est pas nécessairement valable pour les constructeurs. Une classe peut avoir plusieurs constructeurs mais le destructeur est unique.

type
    TMyClass = class(TObject)
    private // self access only
        FSomeVar: Integer;
    public // access by anything
        constructor Create; overload;
        constructor Create(Args: array of Integer); overload;
        destructor Destroy; override;
        function GetSomeVar: Integer;
        procedure SetSomeVar(newvalue: Integer);
    published // special type of public scope
        property SomeVar: Integer read GetSomeVar write SetSomeVar default 0;
    end;
var
    classInstance: TMyClass;

Pour créer l'objet, la déclaration ne suffit pas, il faut l'instancier:

var
    classInstance: TMyClass;
 
implementation
begin
    classInstance := TMyClass.Create;
end;
constructor TMyClass.Create;
begin
  inherited;
  SomeVar := 6;
end;


Types de données
Types de données simples Boolean | Byte |Cardinal | Char | Currency | Extended | Int64 | Integer | Longint | Pointer | Real | Shortint | Smallint | Word
Types de données complexes Array | Class | Record | Set | String | ShortString