Logo Khaganat

no way to compare when less than two revisions

Différences

Ci-dessous, les différences entre deux révisions de la page.


fr:ds:rcdsparentage [2021/12/03 18:19] (Version actuelle) – créée - modification externe 127.0.0.1
Ligne 1: Ligne 1:
 +====== L'héritage dans les datasheets ======
 +L'héritage est une notion essentielle dans la création d'un ensemble de DS, pour éviter de se répéter. Il permet d'hériter de caractéristiques d'une DS parente, voire de réécrire sur certaines, pour permettre de ne pas avoir à tout spécifier de nouveau lorsqu'on réalise un ensemble de DS ayant des caractéristiques communes.
  
 +Par exemple, imaginons un objet ''mon objet''qui puisse avoir quatre caractéristiques A, B, C et D, ayant entre 0 et 10 comme valeur.
 +On pourrait avoir
 +<WRAP left 40%>
 +<code=xml mon_objet01>
 +A = 2
 +B = 3
 +C = 4
 +D = 5
 +</code>
 +</WRAP>
 +<WRAP left 40%>
 +<code=xml mon_objet02>
 +A = 2
 +B = 3
 +C = 4
 +D = 9
 +</code>
 +</WRAP>
 +<WRAP clear></WRAP>
 +On voit que A, B et C sont identiques dans les deux objets, on pourrait donc se simplifier la tâche en faisant une DS parente :
 +<WRAP left 40%>
 +<code=xml mon_objet>
 +A = 2
 +B = 3
 +C = 4
 +</code>
 +</WRAP>
 +<WRAP clear></WRAP>
 +puis on appelle celle-ci depuis les deux autres :
 +<WRAP left 40%>
 +<code=xml mon_objet01>
 +parent = mon_objet
 +D = 5
 +</code>
 +</WRAP>
 +<WRAP left 40%>
 +<code=xml mon_objet02>
 +parent = mon_objet
 +D = 9
 +</code>
 +</WRAP>
 +<WRAP clear></WRAP>
 +En plus de permettre de ne pas avoir à se répéter, cela permet de répercuter tout changement dans un parent à tous ses enfants.
 +
 +On peut malgré tout décider de préciser une différence par rapport au parent, ce qui permet de modifier une caractéristique commune :
 +<WRAP left 40%>
 +<code=xml mon_objet03>
 +parent = mon_objet
 +B = 7
 +D = 5
 +</code>
 +</WRAP>
 +<WRAP clear></WRAP>
 +Dans les DS, le parentage se fait grâce à l'appel :
 +<code=xml>
 +<PARENT Filename="xxxx.sitem"/>
 +</code>
 +
 +Il est conseillé de bien organiser sa [[fr:rcdsnomenclature|nomenclature de DS]] pour s'y retrouver, et permettant d'identifier rapidement un parent d'une fiche complète :
 +  * mettre un underscore "_" en début de nom des parents pour les avoir en premier dans un listing de répertoire ;
 +  * utiliser des underscores "_" pour certaines zones de nom par exemple, comme dans le code livré avec RC. Cela permet de savoir quels paramètres sont renseignés et lesquels sont absents si la nomenclature est explicite.
 +
 +
 +<WRAP center round tip 60%>
 +
 +Bien évidemment, un DS parent peut appeler à son tour un ou plusieurs parents etc.
 +\\ Attention donc aux héritages en cascade (comme en CSS).
 +</WRAP>
 +
 +
 +{{tag>datasheet }}
CC Attribution-Share Alike 4.0 International Driven by DokuWiki
fr/ds/rcdsparentage.txt · Dernière modification : de 127.0.0.1

Licences Mentions légales Accueil du site Contact Inclusion