Sign in Join
Wiki copytemporary

Class/fr: what changed

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

OldNewLine
1-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é.
2-
3-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.
1+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 [constructeurs](</index.php?title=Constructor/fr&action=edit&redlink=1> "Constructor/fr \(page does not exist\)"), des [destructeurs](</index.php?title=Destructor/fr&action=edit&redlink=1> "Destructor/fr \(page does not exist\)"), des [[Function/fr|fonctions]], des [[Procedure/fr|procédures]] et des [[Property/fr|propriétés]] en définissant la visiblité.
42
5-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.
3+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.
64
7-``` pascal
5+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.
6+```
87type
9- TMyClass = class(TObject)
10- private // self access only
11- FSomeVar: Integer;
12- public // access by anything
13- constructor Create; overload;
14- constructor Create(Args: array of Integer); overload;
15- destructor Destroy; override;
16- function GetSomeVar: Integer;
17- procedure SetSomeVar(newvalue: Integer);
18- published // special type of public scope
19- property SomeVar: Integer read GetSomeVar write SetSomeVar default 0;
20- end;
8+ TMyClass = class(TObject)
9+ private // self access only
10+ FSomeVar: Integer;
11+ public // access by anything
12+ constructor Create; overload;
13+ constructor Create(Args: array of Integer); overload;
14+ destructor Destroy; override;
15+ function GetSomeVar: Integer;
16+ procedure SetSomeVar(newvalue: Integer);
17+ published // special type of public scope
18+ property SomeVar: Integer read GetSomeVar write SetSomeVar default 0;
19+ end;
2120```
22-
23-``` pascal
21+```
2422var
25- classInstance: TMyClass;
23+ classInstance: TMyClass;
2624```
2725
28-Pour créer l'objet, la déclaration ne suffit pas, il faut l'instancier:
29-
30-``` pascal
26+Pour créer l'objet, la déclaration ne suffit pas, il faut l'instancier:
27+```
3128var
32- classInstance: TMyClass;
33-
34-implementation
35-begin
36- classInstance := TMyClass.Create;
37-end;
29+ classInstance: TMyClass;
30+
31+ implementation
32+ begin
33+ classInstance := TMyClass.Create;
34+ end;
3835```
39-
40-``` pascal
36+```
4137constructor TMyClass.Create;
42-begin
43- inherited;
44- SomeVar := 6;
45-end;
38+ begin
39+ inherited;
40+ SomeVar := 6;
41+ end;
4642```
4743
44+
45+
46+Types de données
47+---
48+Types de données simples | [[Boolean/fr|Boolean]] | [[Byte/fr|Byte]] |[[Cardinal/fr|Cardinal]] | [[Char/fr|Char]] | [[Currency/fr|Currency]] | [[Extended/fr|Extended]] | [[Int64/fr|Int64]] | [[Integer/fr|Integer]] | [[Longint/fr|Longint]] | [[Pointer/fr|Pointer]] | [[Real/fr|Real]] | [[Shortint/fr|Shortint]] | [[Smallint/fr|Smallint]] | [[Word/fr|Word]]
49+Types de données complexes | [[Array/fr|Array]] | Class | [[Record/fr|Record]] | [[Set/fr|Set]] | [[String/fr|String]] | [[Shortstring/fr|ShortString]]
50+
51+
52+****
53+
4854---
49-*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).*
55+*From the Free Pascal wiki, page "Class/fr", as the Internet Archive kept it on 2022-08-10. 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