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 :

appeler fonction d'une autre classe pour faire une opération


Sujet :

avec Java

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 8
    Points : 4
    Points
    4
    Par défaut appeler fonction d'une autre classe pour faire une opération
    bonjour,
    je voudrais savoir comment on peut faire pour
    que la méthode affichable() puisse faire l'affichage des points de la classe points .
    Attention, la méthode affichable() doit rester dans sa classe

    voici le code :
    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
    33
    34
    35
    36
    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.*;
    import java.util.*;
    import java.io.*; 
     
    class points 
    {
      public points (int X, int Y)
      {
      x = X;
      y = Y;
      }
      public int x,y;
    }
     
    class affichable
    {
      public void affichable()
      {
      System.out.println("X = "+X);
      System.out.println("Y = "+Y);
      System.out.println();
      }
      public int X,Y;
    }
     
    public class main {
     
        public static void main(String args[])
        {
        points C1 = new points(1,5);
        C1.affichable();
        }
     
    }
    merci d'avance

  2. #2
    Membre confirmé Avatar de Katachana
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    755
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Avril 2007
    Messages : 755
    Points : 503
    Points
    503
    Par défaut
    il suffit que tu ajoutes en haut de ta classe un import de la classe qui contient la méthode affiche()

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 8
    Points : 4
    Points
    4
    Par défaut
    euh non ça ne marche pas

    en fait :
    je voudrais utiliser la méthode affiche() de la classe afichable pour afficher mes points.

  4. #4
    Membre actif Avatar de jiddou
    Inscrit en
    Août 2007
    Messages
    247
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 247
    Points : 251
    Points
    251
    Par défaut
    Excusez moi mais je n'ai pas vu de méthode affiche dans vos classes.

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 8
    Points : 4
    Points
    4
    Par défaut
    >.< mince vraiment désolé c'est affichable()

  6. #6
    Membre actif Avatar de jiddou
    Inscrit en
    Août 2007
    Messages
    247
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 247
    Points : 251
    Points
    251
    Par défaut
    Je n'ai pas compris ce que tu essais de faire.

  7. #7
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 8
    Points : 4
    Points
    4
    Par défaut
    tu vois la méthode affichable() ?
    et bien je voudrais faire en sorte que la méthode affichable() affiche les valeur des points en temps normal le code serait pour pouvoir afficher les points:
    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
    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.*;
    import java.util.*;
    import java.io.*; 
     
     
    class points 
    {
      public points (int X, int Y)
      {
      x = X;
      y = Y;
      }
      public void affichable()
      {
      System.out.println("X = "+x);
      System.out.println("Y = "+y);
      }
      public int x,y;
    }
     
    public class main {
     
        public static void main(String args[])
        {
        points C1 = new points(1,5);
        C1.affichable();
        }
     
    }
    mais là je veux séparer les 2 classes , une classe points et une classe affichable qui lui fait toutes les actions comme afficher , modifier etc ...

  8. #8
    Membre actif Avatar de jiddou
    Inscrit en
    Août 2007
    Messages
    247
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 247
    Points : 251
    Points
    251
    Par défaut
    Et pourtant c'est pas ça la l'approche objet.
    L'approche objet stipule que tous les traitements qui s'applique à un objet sans faire intervenir des données externes doivent être implémenter dans sa classe.
    affichable s'applique à x,y de Point modifiable aussi .Je trouve plus propre de les implémenter dans la classe Points

  9. #9
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 8
    Points : 4
    Points
    4
    Par défaut
    oué je sais mais il faut absolument que ça se fasse comme ça

  10. #10
    Membre actif Avatar de jiddou
    Inscrit en
    Août 2007
    Messages
    247
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 247
    Points : 251
    Points
    251
    Par défaut
    Ok alors si ça doit être fais comme ça ,commence par retirer les 2 attributs de la classe affichable , ils sont inutiles puisqu'elle doit afficher ceux de Point.
    Après passe Point comme paramètre à affichable.Si tu insites à implementer de cette manière alors il faut au moins qu'affiche soit une methode static pour un minimum de cohérence.Ceci étant:
    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
    33
    34
    35
    36
     
    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.*;
    import java.util.*;
    import java.io.*; 
     
    class points 
    {
      public points (int X, int Y)
      {
      x = X;
      y = Y;
      }
      public int x,y;
    }
     
    class affichable
    {
      public static void affiche(points P)
      {
      System.out.println("X = "+P.x);
      System.out.println("Y = "+P.y);
      System.out.println();
      }
    }
     
    public class main {
     
        public static void main(String args[])
        {
        points C1 = new points(1,5);
        affichable.affiche(C1);
        }
     
    }

  11. #11
    Membre habitué Avatar de erictoguem
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2006
    Messages
    150
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2006
    Messages : 150
    Points : 187
    Points
    187
    Par défaut
    Ou encore :

    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
    33
    34
    35
    36
    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.*;
    import java.util.*;
    import java.io.*; 
     
    class points 
    {
      public points (int X, int Y)
      {
      x = X;
      y = Y;
      }
      public int x,y;
    }
     
    class affichable
    {
      public void affichable(X. Y)
      {
      System.out.println("X = "+X);
      System.out.println("Y = "+Y);
      System.out.println();
      }
    }
     
    public class main {
     
        public static void main(String args[])
        {
        points C1 = new points(1,5);
        Affichable A = new Affichable();
        A.affichable(C1.x, C1.y);
        }
     
    }
    JAVA : Plus qu'un langage, une façon de penser

  12. #12
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    110
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 110
    Points : 91
    Points
    91
    Par défaut
    c'est bien joli mais le java ne sert pas à ça !

    -> retour voir le principe d'encapsulation
    -> convention de nommage

    Ensuite si ta classe affichable ne sert qu'à afficher un point x et y alors mets y un objet point !

    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
    33
    34
    35
    public class Points{
    	private int x, y;
    	public Points(){}
    	public Points(int x, int y){
    		this.x=x;
    		this.y=y;
    	}
    	public void getX(){return this.x;}
    	public void getY(){return this.y;}
    	public int setX(int x){this.x=x;}
    	public int setY(int y){this.y=y}
    }
    public class Affichable{
    	private Points points;
    	public Affichable(){}
    	public Affichable(int x, int y){
    		points=new Points(x,y);
    	}
    	public Affichable(Points points){
    		this.points=points;
    	}
    	public getPoints(){return this.points;}
    	public setPoints(Points points){this.points=points;}
    	public affichable(){
    		System.out.println("x = "+this.points.getX());
    		System.out.println("y = "+this.points.getY());
    	}
    }
    public class Main{
    	public static void main(String args[]){
    		new Affichage(5,-3).affichage();
    		new Affichage(new Points(5,-3)).affichage();
            }
     
    }


    tant qu'à apprendre le java, apprends le correctement. Je te conseille d'acheter un bouquin ou un tuto sur la poo et sur java.

  13. #13
    Membre actif Avatar de jiddou
    Inscrit en
    Août 2007
    Messages
    247
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 247
    Points : 251
    Points
    251
    Par défaut
    Tout à fait d'accord c'est un choix qu'on fait.On choisit un langage objet on doit réfléchir en objet sinon aller voir du côté des langages procéduraux.

  14. #14
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 8
    Points : 4
    Points
    4
    Par défaut
    -___-' j'ai déjà un bouquin sauf que le problème que j'ai eu était plus grand que le simple fait d'afficher des points

Discussions similaires

  1. Réponses: 7
    Dernier message: 08/07/2014, 10h00
  2. Réponses: 16
    Dernier message: 19/05/2011, 09h36
  3. Réponses: 7
    Dernier message: 03/12/2008, 15h18
  4. appel d'une autre frame à partir d'une autre classe
    Par oceane751 dans le forum AWT/Swing
    Réponses: 18
    Dernier message: 19/01/2008, 06h41
  5. fonction membre d'une classe amie d'une autre classe
    Par olive_le_malin dans le forum C++
    Réponses: 3
    Dernier message: 16/11/2006, 09h39

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