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

avec Java Discussion :

Classes, Méthodes et Packages


Sujet :

avec Java

  1. #1
    Nouveau membre du Club
    Inscrit en
    Novembre 2008
    Messages
    102
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 102
    Points : 34
    Points
    34
    Par défaut Classes, Méthodes et Packages
    Bonjour,

    J’aimerais juste des éclaircissements sur Java de façon générale et sur le concept MVC en particulier.

    Je n’arrive pas à très bien comprendre comment pouvoir utiliser les méthodes de classes de différents packages au sein d’autres packages ou dans le même package.

    1- Par exemple, si je dispose de deux packages A et B. Comment pourrais-je utiliser la méthode « methA » de la classe « classA » du package « packA » dans la classe « classB » du package « PackB ». Est-ce qu’une simple instanciation de la classe « classA » du package « packA » dans la classe « classB » du package « PackB » suffirait à résoudre mon problème.

    2- Dans le cas des classes issues du même package est-ce que l’instanciation d’une classe dans l’autre est-il également la solution ?

    3- Quand on doit utiliser une classe comportant des paramètres (une autre classe) dans une classe du même package. Comment fait-on ?

    Merci d'avance pour votre aide.

  2. #2
    Membre émérite Avatar de Djakisback
    Profil pro
    Inscrit en
    Février 2005
    Messages
    2 021
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 2 021
    Points : 2 278
    Points
    2 278
    Par défaut
    Salut, je n'ai peut-être pas bien compris tes questions mais voici des premières réponses :
    1) Ca passe par l'utilisation de "import ton_package" dans ton fichier .java. Si tes 2 packages sont dans le même projet Netbeans, tu as juste à faire ça sinon il faut définir le classpath pour pointer vers d'autres projets ou libs. Sous Netbeans je ne me souviens plus exactement mais en faisant un clic droit\propriétés sur ton projet tu dois pouvoir trouver ça facilement (buildpath ou classpath).

    2) tu parles de la solution à quoi ? Dans ce cas tu n'as pas besoin de faire d'import, tu as juste à instancier la classe. Attention toutefois un sous-package (sous-répertoire) est considéré comme un autre package.

    3) je n'ai pas bien compris ce que tu veux dire, il suffit de définir les paramètres dans une méthode, ex. :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    public voic truc(UneAutreClasse c)	{
    ...
    }
    si UneAutreClasse n'est pas dans le même package il faudra faire un "import chemin.vers.package.UneAutreClasse;"

    Pour être plus précis, la visibilité/portée dans un package est par défaut restreinte au package lui-même. Le plus simple est d'utiliser 'import' pour importer les classes d'un autre package. Dans tous les cas tu ne devrais pas t'inquiéter pour ça, ton IDE te dira tout de suite s'il manque un import.
    Vive les roues en pierre

  3. #3
    Membre expérimenté Avatar de Nico02
    Homme Profil pro
    Developpeur Java/JEE
    Inscrit en
    Février 2011
    Messages
    728
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Developpeur Java/JEE
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2011
    Messages : 728
    Points : 1 622
    Points
    1 622
    Par défaut
    Salut,

    1) Pour pouvoir utiliser une classe situé dans un autre package, il suffit simplement d'importer ce package.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    import java.util.ArrayList;
    Sous réserve bien sur que cette classe soit public

    2)Dans un même package
    -On peut effectivement créer une instance de cette classe
    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
     
    public class A{
     
      private String s = "toto";
     
      public A(){}
     
      public String getString(){ return s;)
     
      public afficheB(){
        B b = new B();
        System.out.println( b.getString() );
      }
     
    }
     
    //--------------
     
    public class B{
     
      private String s = "toto";
     
      public B(){}
     
      public String getString(){ return s;)
     
      public afficheA(){
        A a = new A();
        System.out.println( a.getString() );
      }
     
    }
    Tu peux recevoir une instance de cette classe en paramètre d'une méthode.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    public class C{
     
      public C(){}
     
      public String getString(){ return s;)
     
      public afficheB( B value ){
        System.out.println( value.getString() );
      }
     
    }
    Ou alors faire référence à une méthode static

    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
    17
    18
    19
    20
     
    public class A{
     
      public A(){}
     
      public static String getStringA(){ return "toto";)
     
    }
     
    //--------------
     
    public class B{
     
      public B(){}
     
      public afficheA(){
        System.out.println( A.getStringA() );
      }
     
    }
    3) Pas compris

    Cdt.

Discussions similaires

  1. [Applet]utiliser une classe d'un package dans une applet
    Par jeromejanson dans le forum Applets
    Réponses: 1
    Dernier message: 30/06/2005, 08h13
  2. [Classe] Situer la package.
    Par Mister Nono dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 11/02/2005, 15h07
  3. [FLASH MX2004] [AS2] Classe méthodes static
    Par bolo dans le forum ActionScript 1 & ActionScript 2
    Réponses: 2
    Dernier message: 16/12/2004, 18h26
  4. Débuts : classe / méthode main
    Par P@t dans le forum Eclipse Java
    Réponses: 5
    Dernier message: 10/07/2004, 03h45
  5. [PL/SQL]Appel d'une classe/méthode java
    Par marsup54 dans le forum SQL
    Réponses: 4
    Dernier message: 30/06/2004, 16h44

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