Sign in Join
Wiki copytemporary

Revision 2 of 5, by Trev on 2-10-2020. The page as it is now.

Class/fr

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.

pascal
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;
pascal
var
    classInstance: TMyClass;

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

pascal
var
    classInstance: TMyClass;

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

From the Free Pascal wiki, page "Class/fr", as it stood on 2020-02-10 after a change by Trev, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's Licensing page. If you have concerns about this material, message the admin.