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 :

Appel methode java


Sujet :

Java

  1. #1
    Nouveau candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2016
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2016
    Messages : 1
    Par défaut Appel methode java
    Bonjour, j'ai une class Document que voici :
    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
     
    public class Document {
    	 private int numero;  
    	 private String titre;      
    	 //Constructers   
    	 public Document(int numero, String titre) {  
    		this.numero=numero;
    		this.titre=titre;
    	}       //gets  
     
    	 public int getNumero() {      
    		 return numero;
    	}   
     
    	 public String getTitre() {   
    		 return titre;
    	}
    	 //Expliquer le code de cette méthode  
     
    	public boolean equals(Object obj) {   
    		return obj instanceof Document && ((Document) obj).numero == numero;  
    	}  
     
    	public String toString() {     
    		return titre + " Numéro :  " + numero; 
    	}
    }
    A partir de celle ci je me suis servi de l'heritage pour creer une class Livre que voici:

    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
     
    public class Livre extends Document{
    	private String auteur;
    	private int nombrePages;
     
    	public Livre(int numero, String titre, String auteur, int nombrePages){
    		super(numero,titre);
    		this.auteur=auteur;
    		this.nombrePages=nombrePages;
    	}
     
    	public String getAuteur(){
    		return auteur;<code></code>
    	}
     
    	public int getNombrePages(){
    		return nombrePages;
    	}
     
    	public String toString(){
    		return super.toString()+" Auteur: "+auteur+" Nombre de pages: "+nombrePages;
    	}
     
    }
    Ce faisant, je crée une class Bibliotheque qui va me permettre de simuler l'ajout ou suppression de documents dans celle ci. Le probleme est que j'ai une methode afficherAuteur qui est censéé afficher les auteurs de tous les documents tant que ces documents sont de type Livre, car ce sont les seuls a avoir l'attribut auteur (j'ai créé d'autre class Revue..), or je n'arrive pas a faire appel a la methode getAuteur de la class Livre.

    Ainsi:

    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
     
    public class Bibliotheque {
    	//Attributs  
    	private Vector<Document> documents;
    	//Constructeurs  
    	public Bibliotheque(){  
    		documents= new Vector<Document>();
    	}   
    	//Affichage de tous les documents de la bibliothèque  
    	public void afficherDocuments(){ 
    		for(int i=0;i<documents.size();i++){
    			System.out.println(documents.get(i).toString());
    		}
    	}  
    	//Afficher tous les auteurs de la bibliothèque.  //Attention, seuls les documents de type Livre et Roman possèdent des auteurs  
    	public void afficherAuteurs(){  
    		for(int i=0;i<documents.size();i++){
    			if(documents.get(i) instanceof Livre) System.out.println((Livre) documents.get(i).getAuteur()); 
    		}
    	}
    	//fin afficherAuteurs    //Supprimer un document de la collection de documents  
    	public boolean supprimer(Document doc){  
    		return(documents.remove(doc));
    	}    
    	//Ajouter un document
    	public boolean ajouter(Document doc){  
    		return(documents.add(doc));
    	}
    	//Obtenir le document à l'indice i  
    	public Document getUnDocument(int i){ 
    		return (documents.get(i));
    	}  
     
    }
    Merci d'avance pour votre aide

  2. #2
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 395
    Par défaut
    Il y a probablement une erreur de conception là-dedans, mais la réponse à ton problème immédiat, c'est qu'il manque des parenthèses autour du cast:
    System.out.println( ((Livre)documents.get(i)).getAuteur() ) devrait mieux marcher.
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

Discussions similaires

  1. Appel methode java en javascript
    Par foubou dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 12/06/2008, 16h31
  2. Appel d'une methode java dans un fichier jsp
    Par kodo dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 06/05/2006, 13h46
  3. [Applet] appel de methodes java en javascript
    Par soulhouf dans le forum Applets
    Réponses: 16
    Dernier message: 06/09/2005, 14h18
  4. [Reflection] Interpreter une chaine en une methode java
    Par shaun_the_sheep dans le forum API standards et tierces
    Réponses: 6
    Dernier message: 09/10/2004, 15h11
  5. [C#][WebServices] Appel methode avec une classe en paramètre
    Par bran_noz dans le forum Windows Forms
    Réponses: 6
    Dernier message: 10/09/2004, 16h41

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