Skip to main content

Élément : Généralisation

UNE Généralisation est une relation UML qui exprime l'héritage ou la spécialisation. L'élément héritier a les attributs et les opérations de l'élément racine. Dans le code CEI, cette relation correspond au mot clé EXTENDS.

Une généralisation pointe de la classe héritante vers la classe racine. Par conséquent, le sens de la flèche indique qui hérite de qui.

. L'héritage est possible entre les classes, les interfaces et les types de données définis par l'utilisateur :
  • Un bloc fonction peut hériter d'un autre bloc fonction.

  • Une interface peut hériter d'une autre interface.

  • Un DUT peut hériter d'un autre DUT.

  • Les programmes et les fonctions ne peuvent pas hériter et être hérités.

_uml_img_element_generalization.png

Afficher sous forme de flèche

Propriétés

Tableau 6.

Relation amoureuse

Type de relation

Optimiser l'itinéraire

Lorsque cette option est sélectionnée, le parcours de la flèche de relation est automatiquement optimisé. Les points fixes sont le point initial à l'élément de départ et le point final à l'élément final. Par exemple, si l'élément de fin est déplacé, le point où la flèche pointe vers l'élément de fin reste le même. Lorsque cette option est désélectionnée, l'itinéraire reste inchangé. Dès qu'un élément de relation est positionné manuellement dans le diagramme de classes, cette option est désélectionnée.

Sélectionnez cette option si une optimisation automatique est requise.

Élément de départ

Nom de l'élément où commence l'élément de relation

Élément de fin

Nom de l'élément vers lequel pointe l'élément de relation

Identifiant

Pour le Association et Composition relations uniquement

Nom de l'élément de relation



Entrée utilisateur

action

La description

  1. Sélectionnez le Généralisation _uml_icon_tool_generalization.png outil.

  2. Cliquez sur l'élément qui doit hériter.

  3. Cliquez sur l'objet parent.

Une généralisation est établie entre l'élément héritier et l'élément parent.

Le code CEI est adapté de manière synchrone en spécifiant l'élément parent dans la partie déclaration de la classe qui hérite.

Exemple: Class_A EXTENDS Class_Base

  1. Sélectionnez le Généralisation _uml_icon_tool_generalization.png outil.

  2. Cliquez sur l'élément qui doit hériter.

  3. Cliquez sur une zone vide dans le diagramme.

    Une boîte de dialogue de génération du nouvel objet s'ouvre.

  4. Spécifiez un nom, configurez les paramètres et cliquez sur Ajouter pour quitter la boîte de dialogue.

Une généralisation est établie entre l'élément héritier et l'élément parent.

Le code CEI est adapté automatiquement en créant le nouvel objet et en spécifiant l'objet parent dans la partie déclaration de l'objet héritier. Exemple: Class_A EXTENDS Class_Base.

Note

Cette entrée ne fonctionne pas pour l'élément DUT.

  1. Sélectionnez le Choix _uml_tool_selection.png outil.

  2. Cliquez sur une généralisation.

  3. Déplacez la ligne.

Les lignes sont modifiées. le Optimiser le routage propriété est désélectionnée automatiquement.

  1. Sélectionnez le Choix _uml_tool_selection.png outil.

  2. Cliquez sur une généralisation.

  3. appuie sur le Suppr clé ou clic Supprimer dans le menu contextuel.

La généralisation est supprimée du schéma et du code CEI. La déclaration EXTENDS est supprimé de la partie déclaration de la classe qui hérite.

Exemple

Exemple 19. Bloc fonction

Fb_A hérite de Fb_Base:

_uml_img_example_generalization_function_block.png
FUNCTION_BLOCK Fb_A EXTENDS Fb_Base


Exemple 20. Interface

Itf_A hérite de Ift_Base:

_uml_img_example_generalization_interface.png
INTERFACE Itf_A EXTENDS Itf_Base


Exemple 21. DUT

Dut_A hérite de Dut_Base:

_uml_img_example_generalization_dut.png
TYPE Dut_Base :
STRUCT
    counter : INT;
END_STRUCT
END_TYPE

TYPE Dut_A EXTENDS Dut_Base :
STRUCT
    data : ARRAY[0..9] OF WORD;
END_STRUCT
END_TYPE