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 PHP Discussion :

Portée propriétés classes [PHP 5.3]


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de ETVigan
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Avril 2010
    Messages
    660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2010
    Messages : 660
    Par défaut Portée propriétés classes
    J'ai un souci, et je me pose des questions quand à la portée des proprétes d'une classes parent vers son enfant.

    Voici en gros le shéma de mes 2 classes

    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
    class enfant extends main
    {    protected $p1,$p2..... $pn :
    
          function __construt($p1,$p2)
          {    $this->p1 =$p1 ;                <================= 1
                .... etc
    
               $this->atualize() :
          }
    
         function actualize()
         {    $this->p1 = 'fdgdgdf' ;
               ...... etc
         }
    
    }
    class main
    {    protected $p1, $p2...... ;
    
         function __construct()
         {     .........
                $this->actualize() ;
                 $this->display() ;
         }
    
         function display()
         {     .........
                print($this-p1,$this->p2......) ;<============== 2     }
    
    }

    J'ai des valeurs différentes en 1° et en 2° .......


    La souce complète en an attachement.

    Merci du coup de main....
    Fichiers attachés Fichiers attachés

  2. #2
    Membre Expert Avatar de Madfrix
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 326
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 326
    Par défaut
    Salut,

    redéfinir une propriété dans la classe enfant revient comme à surcharger une méthode, tu redéfini une valeur de la propriété de la classe mère. Ex :

    Code php : 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
     
    class Mere{
     
    	protected $_prop = 'mere';
     
    	public function getProp(){
    		return $this->_prop;
    	}
     
    }
     
     
    class Fille extends Mere{
     
     
    }
     
    $obj = new Fille();
    echo $obj->getProp();
    // affiche : mere

    Maintenant en redéfinissant la propriété dans la fille :

    Code php : 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
     
    class Mere{
     
    	protected $_prop = 'mere';
     
    	public function getProp(){
    		return $this->_prop;
    	}
     
    }
     
     
    class Fille extends Mere{
     
    	protected $_prop = 'fille';
     
    }
     
    $obj = new Fille();
    echo $obj->getProp();
    // Affiche : fille

  3. #3
    Membre éclairé Avatar de ETVigan
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Avril 2010
    Messages
    660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2010
    Messages : 660
    Par défaut Enchainement de lasses
    Olivier,

    Je ne vois en quoi ta réponse est en rapport avec mon souci !

    Dsl, je vais relire ta réponse attentivement dans une 1/3 h, cela viendra peut-être.

    @+

  4. #4
    Membre Expert Avatar de Madfrix
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 326
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 326
    Par défaut
    Si c'est en rapport je pense à moins que j'ai mal compris...

    Le constructeur de ta classe enfant défini la propriété p1 de ta classe enfant qui est différente de la propriété de la classe mère p1. Ainsi la méthode display de la mère, affiche la propriété p1 de la mère et non de l'enfant définie par ton constructeur

  5. #5
    Membre éclairé Avatar de ETVigan
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Avril 2010
    Messages
    660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2010
    Messages : 660
    Par défaut Portée proprétés netre lasses
    Je pense avoir pigé, j'ai fait un test mais qui ne me donne pas satisfation pour l'instant, en fait j'ai définit toutes les propriétés dans la classe fille.....

    Merci

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 11/03/2010, 12h51
  2. VB.2003 -Serialization de propriété classe
    Par Kelpan dans le forum Framework .NET
    Réponses: 2
    Dernier message: 30/06/2008, 15h42
  3. portée et classe
    Par juloss dans le forum C++
    Réponses: 2
    Dernier message: 06/03/2008, 12h53
  4. proprité class="MaClasse" et JavaScript
    Par Sheriff dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 28/07/2006, 12h42
  5. [C#]Propriété class d'un <td> en contrôle serveur
    Par Oberown dans le forum ASP.NET
    Réponses: 4
    Dernier message: 19/05/2006, 11h11

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