Quelle est la différence entre un stéréotype et d'un héritage de classe en UML?

Je suis confus au sujet de la différence entre quelque chose de "stéréotype" et être un "super-classe" en UML.

Disons que je veux créer un diagramme comportant un "WidgetMaker." WidgetMaker est clairement un Actor de sorte que le standard UML est de stéréotype c'acteur:

<<Actor>> WidgetMaker

Mais j'ai grandi programmation en Java/Ruby/C++ monde. Dans ce monde, la relation est:

class Actor
end

class WidgetMaker < Actor
end

Qui ressemble à ceci dans UML:

  Actor
    ^
    |
WidgetMaker

Donc ma question est: pourquoi a-t d'UML ont stéréotypes à tout moment, vous pouvez facilement le modèle de ces concepts à l'aide de l'héritage de classe, qu'il aussi a.

Une fois que nous avons plusieurs "sortes" d'acteurs, la question devient encore plus trouble:

              Actor
                ^
                |
    ------------------------
    |           |          |
  Person      Robot      Group
    ^
    |
WidgetMaker

contre

<<Actor>> <<Person>> WidgetMaker