Sign in Join
Wiki copytemporary

Class/fr: what changed

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

Title: Class/fr

OldNewLine
1+\
2+\
3+Une **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é.
4+
5+Une 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.
6+
7+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.
8+
9+``` pascal
10+type
11+ TMyClass = class(TObject)
12+ private // self access only
13+ FSomeVar: Integer;
14+ public // access by anything
15+ constructor Create; overload;
16+ constructor Create(Args: array of Integer); overload;
17+ destructor Destroy; override;
18+ function GetSomeVar: Integer;
19+ procedure SetSomeVar(newvalue: Integer);
20+ published // special type of public scope
21+ property SomeVar: Integer read GetSomeVar write SetSomeVar default 0;
22+ end;
23+```
24+
25+``` pascal
26+var
27+ classInstance: TMyClass;
28+```
29+
30+Pour créer l'objet, la déclaration ne suffit pas, il faut l'instancier:
31+
32+``` pascal
33+var
34+ classInstance: TMyClass;
35+
36+implementation
37+begin
38+ classInstance := TMyClass.Create;
39+end;
40+```
41+
42+``` pascal
43+constructor TMyClass.Create;
44+begin
45+ inherited;
46+ SomeVar := 6;
47+end;
48+```
49+
50+---
51+*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