Un problème classique est de définir des catégories de Voiture ayant des spécificités bien particulières.
Il faut a tout pris éviter de recopier le code comme le montre la figure suivante.
Nous allons définir une fonction (la super Fonction) qui regroupe le code commun. Nous créons ensuite d'autres fonction (les sous Fonction) qui décorent la super fonction. Mais, nous pouvons utiliser le mot classe à la place de fonction. Puisque la super classe a pour rôle de générer un grand nombre d'objets.