Partage
  • Partager sur Facebook
  • Partager sur Twitter

theorie Settet et constructeur

Affectation pas par pas

    24 janvier 2017 à 3:46:13

    bonjour Les amis de openclassrooms,
    Je commences a apprendre l'orienté objet en PHP et j'ai quelques soucis de theories sur l'interpretation du Setters et du constructeur.
    J'arrives a les utilisés et a réussir a faire du coding avec mais au bout du compte je comprend pas comment l'ordinateur fait la lecture pas a pas.
    Voici la 1ere question:

    1)Es ce que cela se lit de gauche a droite ou de droite a gauche.

    je m'expliques pour savoir si c'est bien cela car je me confond comme c'est 3 fois le meme mots de savoir si c est la variables ou le paramètre.

    1.la fonction setForce est appelé et on envoi une nouvelle valeur en parametre: $force.
    2. De droite a gauche (je suis pas sur que cela se lit comme cela) la nouvelle $force affecte this->_force.
    3. this->_force renvoi la nouvelle valeur au variables de la classe mais pourquoi il y a pas ""$"". 

    Si quelqu un peut me decrire pas a pas reelement ce qui se passe par rapport au affectation merci.


    ----------------------------------------------------------------------------------------------------------------

    2eme question:

    Je ne comprend pas trop comment on peut faire passer en paramètre un autre objet.
    $perso1->frapper ($perso2);
    public function frapper($persoAFrapper)
    {
    $persoAFrapper->_degats+= $this->_force;
    }

    Es ce que quand le parametre ($perso2) va affecter la fonction frapper ($persoAfrapper)

    $persoAfrapper a acces a tout les parametres de l'objet $perso 2 au complet.

    car jusqu a present j ai toujours envoyer parametres par parametres . j'amais un objet qui envoi un autres objet au complet.

    si quelqu un peu m eclaircir
    merci

    • Partager sur Facebook
    • Partager sur Twitter
      24 janvier 2017 à 9:30:53

      Salut,

      Q1) le code se lit de la gauche vers la droite ^^, dans l'exemple que tu cites, c'est la variable à gauche du "=" qui prend la valeur de la variable de droite.

      Q2) lorsque tu passes une variable en paramètre d'une fonction, la fonction peut l'utiliser, ça je pense que tu le sais, maintenant un objet c'est pareil, la fonction / méthode peut utiliser l'objet passé en paramètre comme une variable. Donc elle peut accéder aux méthodes de cet objet.

      Dans ton exemple, la méthode de la classe personnage ($perso1) accèdera aux méthodes du Personnage $perso2 dans une autre. Il faut avoir à l'esprit que ces deux variables (perso1 et 2) sont indépendantes etr ont des données différentes. Donc quand $perso1->frapper($perso2) cela veut dire "en français" que le perso1 va taper le perso2, mais informatiquement parlant, tu donnes le perso2 à la méthode frapper du perso1 qui va modifier les PdV du perso2 si et seulement si perso1 arrive à toucher perso2 comme dans un vrai JdR ;)

      En fait quand tu regarde / lis une classe il faut penser que chaque objet créé à partir de la classe possède les mêmes attributs/méthodes pour interagir avec le monde extérieur.

      Ai-je été clair ?

      ++

      • Partager sur Facebook
      • Partager sur Twitter
        24 janvier 2017 à 19:30:13

        Merci christouphe pour ta reponse.

        oui c'est clair juste pour le constructeur je dirais alors qu on lis de la droite vers la gauche car..

        la variable de droite donne sa valeur a c elle de gauche.

        bonne journée et 1000 merci

        -
        Edité par leprogrammeur83 24 janvier 2017 à 19:30:38

        • Partager sur Facebook
        • Partager sur Twitter

        theorie Settet et constructeur

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown