Sign in Join
Wiki copytemporary

Class/fr: what changed

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

OldNewLine
11Une **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é.
22
33Une 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.
44
55Les 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.
66```
77type
88 TMyClass = class(TObject)
99 private // self access only
1010 FSomeVar: Integer;
1111 public // access by anything
1212 constructor Create; overload;
1313 constructor Create(Args: array of Integer); overload;
1414 destructor Destroy; override;
1515 function GetSomeVar: Integer;
1616 procedure SetSomeVar(newvalue: Integer);
1717 published // special type of public scope
1818 property SomeVar: Integer read GetSomeVar write SetSomeVar default 0;
1919 end;
2020```
2121```
2222var
2323 classInstance: TMyClass;
2424```
2525
2626Pour créer l'objet, la déclaration ne suffit pas, il faut l'instancier:
2727```
2828var
2929 classInstance: TMyClass;
3030
3131 implementation
3232 begin
3333 classInstance := TMyClass.Create;
3434 end;
3535```
3636```
3737constructor TMyClass.Create;
3838 begin
3939 inherited;
4040 SomeVar := 6;
4141 end;
4242```
4343
4444
4545
4646Types de données
4747---
4848Types 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]]
4949Types de données complexes | [[Array/fr|Array]] | Class | [[Record/fr|Record]] | [[Set/fr|Set]] | [[String/fr|String]] | [[Shortstring/fr|ShortString]]
5050
5151
5252****
5353
5454---
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).*
55+*From the Free Pascal wiki, page "Class/fr", as the Internet Archive kept it on 2022-08-10, last changed on 2020-02-11. 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