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 :

Pattern Adaptateur et NullPointerException


Sujet :

Langage Java

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    389
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2009
    Messages : 389
    Par défaut Pattern Adaptateur et NullPointerException
    Bonjour,
    je tente d'implémenter un pattern adaptateur dans mon projet, mais j'ai un NullPointerException que je n'arrive pas à résoudre...

    Je crois que l'erreur se situe au niveau de la déclaration de mon vector à partir de l'objet MonPresentateur mp, mais je n'arrive pas à la résoudre.

    Pouvez vous m'aider?

    Voici mes classes :

    La classe abstraite :
    Code java : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    public abstract class Presentateur {
    	public abstract String presenter();	
    }

    La classe à adapter :
    Code java : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    import java.util.*;
     
    public class MonPresentateur {
    	public Vector presenter() {
    		Vector v = new Vector();
    		v.add("attention");
    		v.add("ca joue fort");
    		return v;
    	}
    }
    L'adaptateur :
    Code java : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    import java.util.Vector;
     
    public class X extends Presentateur {
    	protected MonPresentateur mp;
    	public String presenter() {
    		Vector v = mp.presenter();
    		String s = v.toString();
    		return s;
    	}
    }

    Et le petit main, pour les tests :
    Code java : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    public static void main(String[] args) {
    		X x = new X();
    		System.out.println(x.presenter());
    		System.out.println("fini");
    	}

    Merci de votre aide

  2. #2
    Membre émérite Avatar de Heimdal
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    549
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 549
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    public class X extends Presentateur {
    	protected MonPresentateur mp;
    	public String presenter() {
    		Vector v = mp.presenter();
    		String s = v.toString();
    		return s;
    	}
    }
    mp est null. Il faudrait peut être l'instancier

    Sinon, il te manque le constructeur pour finaliser le pattern

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    public X(MonPresentateur mp) {
    this.mp = mp;
    }

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    389
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2009
    Messages : 389
    Par défaut
    Ahh mais oui, tout simplement...

    Merci, tout fonctionne.
    J'ai aussi ajouté le constructeur

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

Discussions similaires

  1. Design pattern : Adaptateur
    Par dsr57 dans le forum WinDev
    Réponses: 0
    Dernier message: 03/05/2015, 11h14
  2. Réponses: 4
    Dernier message: 24/02/2009, 12h06
  3. [langage] expression reguliere motif répétitif dans 1 pattern
    Par comme de bien entendu dans le forum Langage
    Réponses: 11
    Dernier message: 09/04/2003, 16h14

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