Sign in Join
Wiki copytemporary

Class/fr: what changed

Revision 1 to 2. Removed lines have a minus sign; added lines have a plus sign.

OldNewLine
1-\
2-\
31Une **classe** est un [[Data type/fr|type de données]] hautement structuré dans les dialectes Objets de [[Pascal/fr|Pascal]]. Les classes sont en mesure de contenir des [[Variable/fr|variables]], des [[Constructor/fr|constructeurs]], des [[Destructor/fr|destructeurs]], des [[Function/fr|fonctions]], des [[Procedure/fr|procédures]] et des [[Property/fr|propriétés]] en définissant la visiblité.
42
53Une autre chose intéressante sur les classes est qu'elles libèrent le développeur du besoin des [[Pointer/fr|pointeurs]] et le déréférencement de pointeur. Elles sont automatiquement prises en charge par le compilateur à la compilation.
64
75Les 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.
86
97``` pascal
108type
119 TMyClass = class(TObject)
1210 private // self access only
1311 FSomeVar: Integer;
1412 public // access by anything
1513 constructor Create; overload;
1614 constructor Create(Args: array of Integer); overload;
1715 destructor Destroy; override;
1816 function GetSomeVar: Integer;
1917 procedure SetSomeVar(newvalue: Integer);
2018 published // special type of public scope
2119 property SomeVar: Integer read GetSomeVar write SetSomeVar default 0;
2220 end;
2321```
2422
2523``` pascal
2624var
2725 classInstance: TMyClass;
2826```
2927
3028Pour créer l'objet, la déclaration ne suffit pas, il faut l'instancier:
3129
3230``` pascal
3331var
3432 classInstance: TMyClass;
3533
3634implementation
3735begin
3836 classInstance := TMyClass.Create;
3937end;
4038```
4139
4240``` pascal
4341constructor TMyClass.Create;
4442begin
4543 inherited;
4644 SomeVar := 6;
4745end;
4846```
4947
5048---
5149*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](/wiki-contact).*

Back to history