IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Java Discussion :

Méthode public ou private?


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Rédacteur

    Homme Profil pro
    Technical Lead Salesforce
    Inscrit en
    Février 2009
    Messages
    563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Technical Lead Salesforce

    Informations forums :
    Inscription : Février 2009
    Messages : 563
    Par défaut Méthode public ou private?
    Bonjour, j'ai compris que quand on déclare un attribut en private, il ne sera accessible uniquement par sa classe et on pourra le modifier avec des setter mais ce que je ne comprends pas, c'est la différence entre déclarer une méthode en private ou public vu que l'on ne peut pas utiliser la méthode en dehors de la classe (j'ai essayé d'appeler ma méthode à partir d'une autre classe du même projet et ça ne fonctionne pas)?
    - Mes articles
    - Consultant technique Salesforce
    - Salesforce Certified Administrator
    - Salesforce Certified Platform App Builder
    - Salesforce Certified Developper I
    - Salesforce Certified Sales Cloud
    - Salesforce Certified Service Cloud

  2. #2
    Membre averti
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2010
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Mars 2010
    Messages : 42
    Par défaut
    C'est justement le but. Les méthodes private au sein de la classe ne sont visible que dans la classe.
    Par exemple, imaginons(c'est vraiment un exemple hors de toute réalité) une classe qui valide un mot de passe. Elle offre une méthode public donc accessible à toute les classe pour valider un login, password et qui renvoie un booleen. C'est le contrat, c'est ce qu'elle s'engage à faire vis à vis des autres classes. Mais cette méthode peut appeler une autre méthode au sein de la classe pour faire des calculs sur la validité du mot de passe ( par exemple )
    Class LoginValidator {
    public booleen valider(String password, String login){

  3. #3
    Membre averti
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2010
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Mars 2010
    Messages : 42
    Par défaut
    Suite de mon message j'ai appuyé sur enter par erreur

    Donc
    public class Validator{
    public booleen valider(String password, String login){
    int longueur=calculPassword(password);
    //etc etc

    }
    private int calculPassword(String pwd) {
    // fait des opérations sur le mot de passe quelconque

    }
    }
    la méthode calculPassword n'interesse aucune autre classe.

  4. #4
    Rédacteur

    Homme Profil pro
    Technical Lead Salesforce
    Inscrit en
    Février 2009
    Messages
    563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Technical Lead Salesforce

    Informations forums :
    Inscription : Février 2009
    Messages : 563
    Par défaut
    J'ai essayé d'appeler une méthode public à partir d'une autre classe et ça n'a pas fonctionné, comment ça se fait?
    - Mes articles
    - Consultant technique Salesforce
    - Salesforce Certified Administrator
    - Salesforce Certified Platform App Builder
    - Salesforce Certified Developper I
    - Salesforce Certified Sales Cloud
    - Salesforce Certified Service Cloud

  5. #5
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Montre-nous comment tu as essayé.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  6. #6
    Rédacteur

    Homme Profil pro
    Technical Lead Salesforce
    Inscrit en
    Février 2009
    Messages
    563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Technical Lead Salesforce

    Informations forums :
    Inscription : Février 2009
    Messages : 563
    Par défaut
    Voilà un code d'exemple:
    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
     
    public class exemple1
    {
     
       public int renvoitInt()
       {
     
       }
    }
     
     
    public class exemple2
    {
       int nombre;
       nombre = renvoitInt();
    }
    J'aimerai que ça fonctionne que je puisse créer une classe où je peux y mettre toute mes méthodes pour faire plus propre comme j'en ai aucune qui pourrait poser problème à part peut-être celle pour s'identifier mais bon..
    - Mes articles
    - Consultant technique Salesforce
    - Salesforce Certified Administrator
    - Salesforce Certified Platform App Builder
    - Salesforce Certified Developper I
    - Salesforce Certified Sales Cloud
    - Salesforce Certified Service Cloud

Discussions similaires

  1. [XL-2010] Portée des variables: variables locales ou public; sub, private sub et Option Explicit
    Par RicardoBxl dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 04/02/2011, 20h34
  2. Définir méthode public avec SpringWebService
    Par bubulemaster dans le forum Services Web
    Réponses: 1
    Dernier message: 05/05/2010, 17h19
  3. Réponses: 8
    Dernier message: 22/03/2010, 16h52
  4. Comment appeler une méthode public depuis une autre class
    Par Gregi dans le forum Windows Presentation Foundation
    Réponses: 4
    Dernier message: 01/03/2010, 10h08
  5. Réponses: 2
    Dernier message: 18/12/2008, 14h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo