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

Python Discussion :

[RESOLU] Utilisation / envoie d'un attribut d'une classe dans une autre classe


Sujet :

Python

  1. #1
    Membre confirmé
    Homme Profil pro
    Deficient visuel
    Inscrit en
    Mai 2019
    Messages
    216
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Deficient visuel

    Informations forums :
    Inscription : Mai 2019
    Messages : 216
    Par défaut [RESOLU] Utilisation / envoie d'un attribut d'une classe dans une autre classe
    Bonjour a toutes et à tous,
    Est il possible d'utiliser ou d'envoyer l'attribut d'une classe dans une autre, sans utiliser l'héritage ?
    Merci par avance !

  2. #2
    Membre Expert
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2003
    Messages
    1 603
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2003
    Messages : 1 603
    Par défaut
    Bonjour.

    Tu instancies ta première classe en l'affectant à une variable.

    Tu instancies ta seconde classe en l'affectant à une autre variable. Dans les arguments passés lors de l'instanciation, tu envoies l'attribut qui t'intéresse et voilà.

  3. #3
    Membre Expert
    Avatar de MPython Alaplancha
    Homme Profil pro
    Paysan à 3 francs six sous
    Inscrit en
    Juin 2018
    Messages
    919
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Paysan à 3 francs six sous
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Juin 2018
    Messages : 919
    Billets dans le blog
    8
    Par défaut
    Bonjour.
    Voici un attribut de classe:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    class MaClasse:
        attribut_de_classe = "yep"
    Tu peux depuis une autre classe accéder ou modifier dynamiquement cet attribut via MaClasse.attribut_de_classe

  4. #4
    Membre confirmé
    Homme Profil pro
    Deficient visuel
    Inscrit en
    Mai 2019
    Messages
    216
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Deficient visuel

    Informations forums :
    Inscription : Mai 2019
    Messages : 216
    Par défaut
    Un grand merci a tous les deux ! Vous épargnez a mes yeux glaucomateux fatigué de long moments de recherche.
    Aligato !

  5. #5
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 715
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 715
    Par défaut
    Citation Envoyé par chris7522 Voir le message
    Est il possible d'utiliser ou d'envoyer l'attribut d'une classe dans une autre, sans utiliser l'héritage ?
    Dans l'idée, les classes permettent de fabriquer des objets dans des boîtes (plus ou moins) étanches... qu'il va bien falloir faire communiquer pour échanger des données et pouvoir fabriquer un programme avec ces briques de construction.

    Soit une classe A et une classe B..., un attribut est juste un chemin qui permet d'accéder à un objet X.
    Rien ne vous empêche de passer l'instance de ce X à la création des instances de A et de B pour faire en sorte qu'elles accèdent au même objet X.

    Dans ce cas, A et B s'ignorent et ne savent même pas qu'elle partagent ce X... et ça sera "transparent" pour autant que X soit mutable (une liste par exemple).

    Après vous avez les recettes où instances de A et de B se connaissent assez pour que A puisse agir sur B lorsque le X sera modifié: on crée B et on passe l'instance à A, le B est crée par A, la méthode de A qui modifie X est appelée avec une fonction/méthode de B en paramètre...

    Enfin vous avez aussi les méthodes où A et B ne se connaissent pas mais interagissent via un médiateur qui réalisera la communication entre les 2...

    Que choisir et comment le mettre en œuvre commence par description du problème à résoudre et... construire la solution est tout le sujet de la POO, des différents patterns,... techniques de conception et de programmation qui ne dépendent pas du langage.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

Discussions similaires

  1. [POO] Utiliser et écraser l'attribut de la classe parent
    Par pastamiam dans le forum Langage
    Réponses: 2
    Dernier message: 10/10/2012, 16h15
  2. Accès aux attributs d'une autre classe
    Par alexmam15 dans le forum Débuter
    Réponses: 5
    Dernier message: 25/02/2011, 09h26
  3. Réponses: 3
    Dernier message: 23/05/2009, 18h57
  4. Utilisation d'un conteneur membre d'une autre classe
    Par oodini dans le forum SL & STL
    Réponses: 2
    Dernier message: 22/10/2008, 18h45
  5. Modifier un attribut représentant une autre classe
    Par piotrr dans le forum Hibernate
    Réponses: 6
    Dernier message: 13/05/2008, 11h58

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