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

Langage Java Discussion :

[Debutant(e)]passage par adresse?


Sujet :

Langage Java

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 5
    Points : 7
    Points
    7
    Par défaut [Debutant(e)]passage par adresse?
    Est-il possible de faire des passages par adresse ou par référence en java.
    ou puis je trouver l'info?
    merci d'avance.




    [Modéré par Didier]
    Ajout de tag dans le titre
    Lire les règles du forum : Règles du forum Java

  2. #2
    Membre éclairé Avatar de nako
    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2003
    Messages
    577
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Août 2003
    Messages : 577
    Points : 663
    Points
    663
    Par défaut
    salut, t'as vraiment pas moyen de t'en passer ?
    c'est dommage quand même.
    enfin, si vraiment tu as que ça comme solution, c'est possible.
    y'a rien de spécial à faire, vu que ce que tu passe en paramètre, c'est des objets, ils sont passés par référence.
    a+

  3. #3
    Membre habitué
    Inscrit en
    Octobre 2002
    Messages
    164
    Détails du profil
    Informations forums :
    Inscription : Octobre 2002
    Messages : 164
    Points : 190
    Points
    190
    Par défaut
    Les adresses n'existe pas en Java on parle toujours de référence.

    En java il y a 2 types de passage de paramètre :
    - par valeur pour les types natifs (int, short, ...)
    - par référence pour les objets

    Ainsi il est toujours possible de modifier le "contenu" d'une instance. Par 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
     
    public class A {
      public void foo(MyClass my) {
        my.setName("catherine");
      }
    }
     
    public static void main(String[] args) {
      A a = new A();
      MyClass my = new MyClass();
      my.setName("John");
      a.foo(my);
      // ici le nom de my est Catherine et non plus John
    }
    La seule technique pour éviter cela est de passer des objets non mutable (tel que String ou d'autre perso), cad qui ne peuvent être modifié une fois créé sans repasser par une instanciation.

  4. #4
    Membre expérimenté
    Avatar de fabszn
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2002
    Messages
    974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Mars 2002
    Messages : 974
    Points : 1 638
    Points
    1 638
    Par défaut
    Bonjour,

    Je profite de ce poste pour poser une petite question....

    Comment je peux faire pour rendre des classes perso non mutable?

    Merci d'avance,
    @+

    Fabszn
    Twitter : @fsznajderman

    N'oubliez pas le bouton
    Comment bien poser ses questions sur le forum


  5. #5
    Membre expert

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2004
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 301
    Points : 3 675
    Points
    3 675
    Par défaut
    et bien, il suffit que tu ne prévoie pas de méthodes de modification dans ton code !!

    voici une classe non mutable:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    class MyBoolean{
     
      private final boolean value;  
     
      public MyBoolean(boolean value){
        this.value = value;
      }
     
      public boolean getValue(){
        return value;
      }
     
    }
    oki ?
    "Le plug gros problème des citations trouvées sur internet, c'est qu'on ne peut jamais garantir leur authenticité"

    Confucius, 448 av. J-C

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 11/12/2006, 21h31
  2. Réponses: 8
    Dernier message: 03/12/2006, 17h46
  3. passage par adresse
    Par gloubig dans le forum C++
    Réponses: 1
    Dernier message: 20/05/2006, 06h35
  4. Passage par valeur / passage par adresse
    Par jeje99 dans le forum C++
    Réponses: 13
    Dernier message: 16/02/2006, 10h29
  5. passage par adresse
    Par cari dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 01/02/2006, 11h33

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