Operazioni standard 

Nella trasformazione C++, il termine "operazioni standard" si riferisce collettivamente ai costruttori, ai decostruttori e agli operatori di assegnazione.

È possibile controllare la generazione automatica delle operazione standard mediante le proprietà plug-in di Eclipse. Per accedere alle proprietà, fare clic su Finestra > Preferenze. Per accedere alle proprietà della trasformazione C++, espandere Modellamento, Trasformazioni, quindi fare clic su Trasformazione da UML a C++.

La trasformazione genera costruttori e li copia per impostazione predefinita.

È possibile controllare ulteriormente il modo in cui la trasformazione genera operazioni standard aggiungendo operazioni con stereotipi specifici al modello UML. Se si crea un'operazione in una classe e si assegna ad uno degli stereotipi di operazioni standard, la trasformazione genera l'operazione standard invece dell'operazione specifica. 

Per generare operazioni standard, è possibile utilizzare gli stereotipi di seguito riportati 

·         Costruttore: è possibile utilizzare lo stereotipo cpp_constructor per specificare se il costruttore è specifico o in linea. La trasformazione assegna i valori predefiniti UML agli attributi delle classi nei costruttori generati.

·         Costruttore di copia: è possibile utilizzare lo stereotipo cpp_copy_constructor per specificare se il costruttore di copia è esplicito o in linea. La trasformazione assegna valori predefiniti UML agli attributi della classe nei costruttori di copia generati.

·         Decostruttore: è possibile utilizzare lo stereotipo cpp_destructor per specificare se il decostruttore è virtuale o in linea.

·         Assegnazione: è possibile utilizzare lo stereotipo cpp_assignment per specificare se un'operazione di assegnazione è in linea o meno. La trasformazione assegna valori agli attributi della classe in base alla classe assegnata negli operatori di assegnazione generati. 

La trasformazione applica la visibilità dell'operazione UML alle operazioni standard generate, ma ignora il nome e i parametri dell'operazione UML. 

I costruttori dispongono di stringhe di inizializzazione per gli attributi con valori predefiniti specificati. I costruttori di copia creano attributi in base agli attributi duplicati. Il corpo degli operatori di assegnazione generati contiene istruzioni di assegnazione appropriate agli attributi della relativa classe.

Se una classe specifica un tipo particolare di operazione standard, le relative proprietà sovarscrivono le proprietà predefinite della trasformazione. 

La trasformazione non genera operazioni standard per le unioni, se queste ultime non vengono aggiunte esplicitamente ad un modello UML.

Inizio pagina

Termini di utilizzo | Feedback
(C) Copyright IBM Corporation 2004. Tutti i diritti riservati.