Bonjour , j'ai une méthode dans une class , que j'aurais besoin de l'utiliser dans 5 class (la même méthode) , y a moyen de faire une instanciation global la classe de façon qu'il soit accessible
Bonjour , j'ai une méthode dans une class , que j'aurais besoin de l'utiliser dans 5 class (la même méthode) , y a moyen de faire une instanciation global la classe de façon qu'il soit accessible
Bonjour,
La question n'est pas extrêmement claire et la réponse restera floue étant donnée que tu ne donnes pas le contexte.
Si j'ai bien compris, tu as une classe qui implémente une méthode. Tu aurais besoin d'utiliser une instance de cette classe et plus précisément une méthode particulière de cette instance un peu partout dans ton code.
Tu peux peut-être dans ce cas utiliser un Singleton ou bien une solution serait une méthode static. Enfin il est aussi possible de transmettre à tes différentes classes l'instance de la classe qui implémente la méthode mais ça peut vite devenir moche.
Mais encore une fois, sans le contexte, difficile de faire une réponse précise.
A moins que la question ne concerne l'héritage ?
Code c# : 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 public class MaClasseDeBase() { public void MaMethodeQuiVaBien() { /* Fait des trucs */ } } public class MaClasseA : MaClasseDeBase { public void UnTruc() { MaMethodeQuiVaBien(); // Fonctionne car cette méthode existe dans la classe héritée } }
On ne jouit bien que de ce qu’on partage.
Le Singleton est rarement la solution à ce genre de problème.
Par contre, effectivement la solution va dépendre du contexte :
Si ce que fait ta méthode est lié à un type d'objet métier, l'héritage est une bonne approche puisqu'elle te permet définir un comportement de base que tu peux redéfinir ou compléter dans les classes descendantes.
Si ce que fait ta méthode est lié à un type scalaire (genre un truc fait sur une chaîne, ou un entier, etc), il vaudra mieux l'isoler dans une classe à part (static si possible).
Mes tutoriels
Avant de poster :
- F1
- FAQ
- Tutoriels
- Guide du développeur Delphi devant un problème
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