Bonjour,
J'aimerais savoir s'il est possible de déclarer des constantes dans une classe A puis ensuite de les accéder par les sous-classes?
Si oui, comment?
Merci!
Bonjour,
J'aimerais savoir s'il est possible de déclarer des constantes dans une classe A puis ensuite de les accéder par les sous-classes?
Si oui, comment?
Merci!
Bonjour,
Euh je ne comprends pas très bien le principe de constante de classe par rapport aux constantes tout court mais bon.
Le truc pour moi qui s'approche le plus serait les variables de classe (apparues seulement depuis D2006). Je te conseilles de regarder de ce côté.
La FAQ - les Tutoriels - Le guide du développeur Delphi devant un problème
Pas de sollicitations techniques par MP -
Ma question était en raison qu'au départ j'avais mis ma classe de base et les sous-classes dans le même fichier. Comme ça devenait volumineux, j'ai séparé toutes mes classes dans des fichiers séparés (C_Classe1, C_Classe2, etc).
Par contre, mes sous-classes n'ont plus accès aux constantes que j'avais déclarées dans le fichier de la classe de base.
Au lieu de créer un nouvel unité avec les constantes et le mettre dans les uses de chaque sous-classe, je pensais pouvoir les déclarer de façon à ce que les constantes soient aussi visibles par les sous-classes.
J'utilise malheureusement Delphi 5, connaissez-vous une méthode?
Merci!
salut
si tes class enfant font appelle a l'unité de la class mère
il te suffit de mettre tes constantes dans la parti interface de l'unité mère
je ne comprend pas trop le probleme
@+ Phil
Code : 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 Unit Unit1 interface Uses ... ; // il faut les declarer dans la parti interface Const MesConstGlob = x; Type TClass1 = Class(ToBject) ... end; Implementation ... end; Unit Unit2 interface Uses ... ,Unit1; Type TClass2 = Class(ToBject) ... end; Implementation // ici tu peut accéder au constantes sans problème ... end;
Blaise PascalNous souhaitons la vérité et nous trouvons qu'incertitude. [...]
Nous sommes incapables de ne pas souhaiter la vérité et le bonheur, et sommes incapables ni de certitude ni de bonheur.
PS : n'oubliez pas le tag
Elles étaient déclarées après implementation, merci c'est exactement ce que je voulais faire!
Ca permet de lier la constante aux classes qui vont s'en servir. C'est très courant en .NET
La discussion est résolue mais on n'a pas répondu à la question dans l'absolue.
Depuis Delphi 2006, il est possible de déclarer des classes imbriquées (une classe déclarée à l'intérieur d'une autre classe).
On peut aussi imbriquer des déclarations de constantes par exemple :
Puis au moment de l'appel :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 type TLogger = class(TObject) public const ERROR = 0; WARNING = 1; INFO = 2; VERBOSE = 3; procedure LogMessage(const msg : string; Level : integer); end;
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 var log : TLogger; begin ... Log.LogMessage('Message', TLogger.INFO);
salut
dans les version precedente de delphi tu pouvait utilise les methode de class
exemple :
l'utilisation ce fait de la même façon
Code : 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 TMonObjet = Class Public Class Fonction ERROR : integer Class Fonction WARNING : integer Class Fonction INFO : integer Class Fonction VERBOSE : integer end; class function TMonObjet.ERROR : integer; begin result := 0; end; Class Fonction TMonObjet.WARNING : integer begin result := 1; end; Class Fonction TMonObjet.INFO : integer begin result := 2; end; Class Fonction TMonObjet.VERBOSE : integer begin result := 3; end;
@+ Phil
Blaise PascalNous souhaitons la vérité et nous trouvons qu'incertitude. [...]
Nous sommes incapables de ne pas souhaiter la vérité et le bonheur, et sommes incapables ni de certitude ni de bonheur.
PS : n'oubliez pas le tag
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager