c'est une des raisons pour lesquelles j'aime le langage Pascal. les unités Pascal sont un source qui comprend une partie Interface (grosso modo un .h mais sans code) et une Implementation (le .c). Tout ce qui est dans l'Interface est public, tout ce qui est dans l'implementation est privé.
Code pascal : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33 unit Eleve; interface // partie publique procedure Save; // prototype de la fonction publique var Note: Integer; // variable publique implementation // partie privée var Chose: Integer; // variable privée procedure SaveProf; // procédure privée begin ... end; procedure SaveClass; // idem begin ... end; procedure Save; // implémentation de la procédure publique begin SaveProf; SaveClasse; ... end; end.
en fait c'est très proche d'une classe static comme on peut les faire en Java
Code Java : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 public class Eleve { public static int Note; public static Save() { ... } private static int Chose; private static SaveProf() { ... } private static SaveClasse() { ... } }
ceci dit en C on se contentera de lire le .h qui s'il est bien écrit ne reprendra que Save ... ou Eleve_Save pour éviter un problème de collision qu'on n'aura pas en Pascal puisque l'unité constitue un espace de nom : Eleve.Save.
Partager