Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1275 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  Attributs protected dans une hiérarchie de classes

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Attributs protected dans une hiérarchie de classes

n°1926624
squashy
Posté le 25-09-2009 à 09:40:03  profilanswer
 

Bonjour,
 
Voilà je me suis plongé dans le langage c++ de Stroustrup et il est mentionné que l'utilisation du mot clé protected pour des attributs dans une hiérarchie de classe est à bannir car ammene à la corruption des données. La norme est elle donc de déclarer tous les attributs en privés et de définir des accesseurs protected si l'utilisation dans des classes filles est nécessaire? Si oui pourquoi?
 
Merci

mood
Publicité
Posté le 25-09-2009 à 09:40:03  profilanswer
 

n°1926678
m3z
il faut toujours faire simple
Posté le 25-09-2009 à 11:44:07  profilanswer
 

Oui (et c'est vrai quelque soit le langage) c'est l'idéal, mais ce n'est pas suffisant. Il faut que les accessors fassent leur boulot c'est à dire contrôle la validité des données.  
 
Le but est de rendre la modification erroné des attributs impossible afin de rendre le code robuste.  


Message édité par m3z le 25-09-2009 à 11:45:48
n°1927290
Un Program​meur
Posté le 28-09-2009 à 13:52:12  profilanswer
 

@squashy, tu peux donner une reference plus precise parce que telle que tu cites, j'ai envie de dire que je ne suis pas d'accord.  Mais je suis a peut pres sur que le contexte aiderait a mieux comprendre.
 
@m3z, il te reste a montrer en quoi cela rend le code plus robuste plutot que d'affirmer que cela le fait.  Entre des accesseurs et rendre plus accessible le membre, je ne vois que peut de difference.  Je n'aime ni l'un ni l'autre, je prefere fournir des interfaces ayant un sens, et faisant donc plus que de recuperer et surtout que de modifier un membre isolement.


---------------
The truth is rarely pure and never simple (Oscar Wilde)
n°1931990
Lavock
Posté le 15-10-2009 à 09:46:44  profilanswer
 

+1. Pour être complet, je rajouterais :

 

Le c++ offre une palette d'outils. Rien ne t'interdit de prendre un tournevis pour planter un clou... mais bon.

 

Il faut distinguer plusieurs types d'héritages, et surtout leurs raisons. Si ta classe mère est uniquement disposée à fournir des attributs à ses classes filles (avec par exemple un constructeur en protected); rien de t'interdit d'en mettre certain en protected -> ta classe aura alors un objectif, fournir des attributs !

 

Après, il s'agit souvent de Design Pattern. Ils ont chacun leurs bons et leurs mauvais côtés (et contrairement à ce que certain veulent nous faire croire, y a pas de DP ultime auquel on ne peux échapper !).

 


Message édité par Lavock le 02-11-2009 à 18:28:08

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  Attributs protected dans une hiérarchie de classes

 

Sujets relatifs
[C++] Différences de déclarations dans des classes QtC++ pointeur, constructeur, attributs
Bien structurer mes classes ? (bis)[Résolu] Comment bien structurer mes classes ?
hierarchie polymorphique , instanciation dynamique sans if[PHP] Varaibles de sessions et classes
question sur les classes[C#, Résolu] UserControl, classes en propriété et code du concepteur.
classes et base de données =/ 
Plus de sujets relatifs à : Attributs protected dans une hiérarchie de classes


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR