Logo Khaganat
Traductions de cette page?:

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 objetqui puisse avoir quatre caractéristiques A, B, C et D, ayant entre 0 et 10 comme valeur. On pourrait avoir

mon_objet01
A = 2
B = 3
C = 4
D = 5
mon_objet02
A = 2
B = 3
C = 4
D = 9

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 :

mon_objet
A = 2
B = 3
C = 4

puis on appelle celle-ci depuis les deux autres :

mon_objet01
parent = mon_objet
D = 5
mon_objet02
parent = mon_objet
D = 9

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 :

mon_objet03
parent = mon_objet
B = 7
D = 5

Dans les DS, le parentage se fait grâce à l'appel :

<PARENT Filename="xxxx.sitem"/>

Il est conseillé de bien organiser sa 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.

Bien évidemment, un DS parent peut appeler à son tour un ou plusieurs parents etc.
Attention donc aux héritages en cascade (comme en CSS).

CC Attribution-Share Alike 4.0 International Driven by DokuWiki
fr/ds/rcdsparentage.txt · Dernière modification : 2021/12/03 18:19 de 127.0.0.1

Licences Mentions légales Accueil du site Contact