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
A = 2 B = 3 C = 4 D = 5
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 :
A = 2 B = 3 C = 4
puis on appelle celle-ci depuis les deux autres :
parent = mon_objet D = 5
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 :
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 :
Bien évidemment, un DS parent peut appeler à son tour un ou plusieurs parents etc.
Attention donc aux héritages en cascade (comme en CSS).