C’è una convenzione per mostrare l’override di metodi di statica UML diagrammi di classe?

Se la classe Human eredita alcuni metodi della superclasse Mammal invariata (come laysEggs: () -> false) e le sostituzioni di altri metodi (come postsToStackOverflow : () -> true), c’è qualche differenza tra il modo in cui i diversi metodi sono indicati in porzione di statica UML diagramma di classe per Human? Per esempio, sono solo l’override dei metodi indicati nel riquadro per Human, o entrambi sono indicati, con qualche annotazione per l’override di metodi?

 

3 Replies
  1. 16

    No, non c’è. Si può solo dire che un metodo è sottoposto a override esaminando i metodi della classe dal quale è stato ereditato.

    • Grazie. Presumo che dire “override”, non “sovrascritto”.
    • Yep. Questo è Denglish 😉
    • Tipo di una palese omissione in UML considerando sarebbe una semplice questione solo di specificare un carattere all’inizio o alla fine di un metodo, di Circa il meglio che puoi fare è utilizzare una nota che indica ignorati o con una porzione di codice da metodo sovrascritto.
    • Yep. Aggiungendo un altro char a +- notazione non sarebbe troppo difficile. Ma OMG ragazzi sono molto conservatori.
  2. 11

    Anche se non specificato nel UML standard, di seguito è riportata una notazione capito per indicare quando una funzione sostituisce un’altra:

    + toString() : String <<override>>
    
    • si prega di notare che <<override>> non è di definire in UML documento di specifica, in modo da utilizzare, di norma si dovrebbe definire un profilo o usato già esistente profilo che definisce questo stereotipo.
    • Sono profili definiti in standard UML o potrebbe essere una caratteristica del software di diagrammi? @granier
  3. 1

    I duplicati dichiarazione di metodo, se voglio mostrare che la classe ereditata riprende, in altri casi basta omettere la dichiarazione.

Lascia un commento