Aller au contenu

[RESOLU] Je suis presque honteux de poser la question...


Profete162

Recommended Posts

Bonjour à tous,

Je sais que je dois peut-être en énerver plusieurs à toujours poser des questions basiques, mais je préfère être certain de bien faire ce que je veux.

J'aimerais me créer plusieurs fonctions réutilisables dans toutes mes classes et j'aimerais savoir quelle est la méthode la plus propre et simple et la syntaxe exacte pour le faire

Imaginons que je veule coder une fonction mon_debug définit comme suit:

    [url]public void mon_debug(String monstring) 
   { 
       System.out.println("DEBUG LINE \n: "+monstring);
   }[/url]

et plusieurs autres fonctions de ce genre.

J'ai tenté de faire cette classe ou je rajouterais tous mes codes:

package tof.cv.codes;


   public class codes 
   { 

       public void mon_debug(String monstring) 
       { 
           System.out.println("DEBUG LINE \n: "+monstring);
       }
   }

Est-ce que je me plante totalement sur la méthode ou je dois faire une classe par fonctions?

Car cette classe est bien acceptée, mais je ne peux pas ecrire debug("test"); dans mes autres lignes de code, même avec un import approprié!

Vraiment désolé pour la question ridicule, mais sans les bases, je suis un peu perdu...

Modifié par Profete162
Lien vers le commentaire
Partager sur d’autres sites

Heuu merci, mais la question ne concerne pas du tout le debug... Mais plutôt ou et comment définir la fonction debug("blabla")

J'aurais pu poster mon message avec somme(int a,int b)(return (a+b);) si tu vois mon probleme!

J'aimerais "juste" créer une fonction appelable dans tout mon projet!

Modifié par Profete162
Lien vers le commentaire
Partager sur d’autres sites

Pouah le static !!!! :mad: :mad:

Tout dépend de ce que tu veux réellement faire. Si tu veux coder "dans les règles de l'art" en Java, bannis donc le mot clé static pour les méthodes (sauf exception, pour le pattern Singleton). En effet, Java est un langage objet et le mot clé static pour une méthodes n'est qu'un subterfuge technique permettant de ne pas trop perdre les développeurs de langages procéduraux.

Dans ton cas, ta classe est bien écrite. Tu as un objet "code" sur lequel tu veux exécuter une méthode "mon_debug(...)".

En Java, tu manipule toujours des objets. Tu doit donc instancier un objet "code"

code monCode = new code();

et y appliquer ta méthode

monCode.mon_debug("toto");

Le static peut paraitre plus simple d'un premier abord, mais si tu développe en objet, tu vas vite te rendre compte que cela pose de sérieux problèmes de concurrence d'accès aux attributs par exemple. De plus, ce n'est tout simplement pas la façon de développer en Java.

Voilà :) maintenant, tu fais ce que tu veux, moi je ne fais que te donner des conseils pour la suite. :rolleyes:

Lien vers le commentaire
Partager sur d’autres sites

Un petit conseil supplémentaire. En Java, il existe des conventions de nommages et de syntaxe assez strictes :

- un nom de classe commence toujours par une majuscule

- un nom de variable ou de méthode commence toujours par une minuscule

- pas de _ dans un nom de classe, de variable ou de méthode : si celle-ci est composé de plusieurs mots, on colle les mots et on met une majuscule à chaque nouveau mot.

- quand tu ouvre un bloc, tu met l'accolade ouvrante en fin de ligne déclarant le bloc

Il y en a pleins d'autre, mais je ne vais pas toutes les détaillées...

Ton code ressemblerai à :

package tof.cv.codes;

public class Codes { 
  public void monDebug(String monString)  { 
     System.out.println("DEBUG LINE \n: " + monString);
  }
}

Encore une fois, tu n'est pas obligé de les suivre, mais les conventions sont là pour la simplification de relecture du code d'un développeur à l'autre. :)

Lien vers le commentaire
Partager sur d’autres sites

Je voulais simplement me créer plein de fonctions réutilisables dans tout mon code, j'aurais mon_debug("blabla"), somme (2,3), affichespecial("bonjour"), etc...

Je vais donc devoir créer plein de classes différentes alors?

C'est juste ce que je veux faire...

Modifié par Profete162
Lien vers le commentaire
Partager sur d’autres sites

Rejoignez la conversation

Vous pouvez poster maintenant et vous enregistrez plus tard. Si vous avez un compte, connectez-vous maintenant pour poster.

Invité
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...