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 :

Définir un objet global en tant qu'attribut de Classe


Sujet :

Java

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2015
    Messages
    99
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2015
    Messages : 99
    Points : 36
    Points
    36
    Par défaut Définir un objet global en tant qu'attribut de Classe
    Bonjour à tous,

    Alors voilà, j'aimerai matérialiser une dépendance à travers un objet dans mon programme.
    Pour faire simple Dependency (Parent, ArrayList<Enfants>) : Un objet avec comme attribut un objet Parents et une collection d'objets d'Enfants.

    Mais voilà mon problème, mon objet Parent est un objet déjà définis que je récupère ailleurs dans mon programme. Pour l'exemple mon Parent peut être un objet bâtiment, un objet étage ou encore un objet pièce. Cela dépend de plusieurs paramètres.
    Et ça sera pareil pour mes objets Enfants d'ailleurs

    J'aimerai donc, dans les attributs de la classe Dépendance, définir un objet global qui pourra accepter un objet bâtiment, un objet étage, etc... Selon le cas.

    Je crois me souvenir que c'est possible mais impossible de retrouver la méthode ou bien de faire une recherche google tellement j'ai du mal à exprimer ce que je recherche..

    J'espère d'ailleurs que vous me comprendrez, je ne voyais pas trop l'utilité de mettre du code, mais si vous avez besoin je ferais !

    Merci d'avance en tous cas !

  2. #2
    Modérateur

    Homme Profil pro
    Développeur java, access, sql server
    Inscrit en
    Octobre 2005
    Messages
    2 710
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur java, access, sql server
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 710
    Points : 4 794
    Points
    4 794
    Par défaut
    Au lieu de définir une classe pour l'objet Parent,
    tu peux définir une interface (ou une classe abstraite).

    Par exemple pour l'interface, cela fonctionne comme cela :
    1) tu crées une interface (ça se crée comme une classe mais on met "interface" à la place de "class")
    que tu vas appeler "Parent"

    2) dans tes classes Batiment, Etage ... tu les définis par
    "public class Batiment implements Parent"
    "public class Etage implements Parent"

    du coup, tes objets Batiment, Etage, etc ... sont reconnus comme des objets "Parent"

    regarde dans la FAQ : http://java.developpez.com/faq/java/...TION_interface
    Labor improbus omnia vincit un travail acharné vient à bout de tout - Ambroise Paré (1510-1590)

    Consulter sans modération la FAQ ainsi que les bons ouvrages : http://jmdoudoux.developpez.com/cours/developpons/java/

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2015
    Messages
    99
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2015
    Messages : 99
    Points : 36
    Points
    36
    Par défaut
    Je vais regarder cela et me renseigner sur les interfaces alors.

    Merci bien pour le conseil et les infos en tout cas Népomucène !

  4. #4
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Ce sont les Generics que tu cherche:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    public class Dependance<P,E> {
       private P parent;
       private List<E> enfants = new ArrayList<E>();
       public Dependance(P parent, Collection<E> enfants){
           this.parent = parent;
           this.enfants.addAll(enfants);
       }
       //etc...
    }
    Example d'utilisation:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Building b = new Builing("gratteciel");
    Set<Etage> e = b.getEtages();
    Dependance<Building,Etage> monBuilding = new Dependance<>(b,e);
    monBuilding.getParent().getNomDeBuilding();

Discussions similaires

  1. [PHP 5.0] Objet en tant qu'attribut dans une classe
    Par yassinozi dans le forum Langage
    Réponses: 6
    Dernier message: 03/02/2014, 09h23
  2. Réponses: 14
    Dernier message: 07/03/2010, 20h08
  3. Réponses: 11
    Dernier message: 22/09/2009, 16h50
  4. Réponses: 2
    Dernier message: 24/08/2006, 17h48
  5. objet de taille variable en attribut static
    Par BigNic dans le forum C++
    Réponses: 8
    Dernier message: 06/07/2006, 21h41

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