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
Version imprimable
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:
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 } }
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).