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 :

[POO] Les attributs d'une classe ?


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Inscrit en
    Novembre 2005
    Messages
    73
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 73
    Points : 58
    Points
    58
    Par défaut [POO] Les attributs d'une classe ?
    Bonjour,

    Petite question, lorsque je définis ma classe :

    Je peux écrire ce code (avec attribut) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    class A {
     
        public $maVariable;    
     
        public function __construct() {
            $this->maVariable;
        }
     
    }
    Ou ce code (sans attribut) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    class A {
     
        public function __construct() {
            $this->maVariable;
        }
     
    }
    Dans les deux cas, mon code fonctionnera et je peux accéder à $maVariable.

    D'où ma question, quelle est l'utilité exacte des attributs d'une classe ? Est-ce que l'on doit les utiliser seulement pour définir des droits d'accès ou spécifier des valeurs ?

    Merci,
    Metallic-84s

  2. #2
    Membre confirmé Avatar de goodpz
    Profil pro
    Inscrit en
    Février 2007
    Messages
    475
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 475
    Points : 514
    Points
    514
    Par défaut
    D'où ma question, quelle est l'utilité exacte des attributs d'une classe ?
    Est-ce que l'on doit les utiliser seulement pour définir des droits d'accès ou spécifier des valeurs ?
    Intérêts de déclarer les attributs dans le corps des classes (ton 1er exemple):
    - Spécifier les accès (public, protected, private)
    - Assigner des valeurs par défaut car le constructeur de la classe n'est pas toujours appelé.
    - S'assurer de la présence de ces attributs dans toutes les instances de la classe.
    - Connaître par avance ce que la class est censée encapsuler (surtout pour l'auteur et la classe et accessoirement l'utilisateur).
    - Documenter les attributs (documentation dans le code).
    - Rendre ces attributs accessibles à la Reflection API.

    Intérêts d'assigner des attributs de manière dynamique (ton 2em exemple):
    - Très grande liberté d'action pour l'auteur et l'utilisateur de la classe.
    - Customiser une instance plutôt qu'une classe.
    - Visibilité public par défaut (ce qui peut être vu comme un inconvénient)

    Voilà, j'ai sûrement oublié des trucs... mais je pense que l'essentiel est là en ce qui concerne php.

Discussions similaires

  1. [DOM] Récupérer les attributs d'une classe CSS ?
    Par titoumimi dans le forum Général JavaScript
    Réponses: 13
    Dernier message: 10/07/2007, 14h33
  2. Réponses: 2
    Dernier message: 17/04/2007, 17h14
  3. [POO] retourner les attributs d'une classe
    Par ozzmax dans le forum Langage
    Réponses: 10
    Dernier message: 12/01/2006, 00h10
  4. [VB.NET] Parcourir les attributs d'une classe
    Par pasqwal dans le forum Windows Forms
    Réponses: 3
    Dernier message: 15/02/2005, 09h47
  5. Réponses: 7
    Dernier message: 08/01/2005, 13h24

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