Una classe UML identifica gli attributi, le operazioni, le relazioni e la semantica che crea istanze degli oggetti appartenenti alla classe. Ogni oggetto che crea l'istanza di una classe generalmente fornisce i propri valori di attributo. Gli attributi vengono inoltre denominati variabili, variabili di membro, proprietà e campo, ma sono generalmente implementati come variabili. In un diagramma, ogni classe dispone di proprietà che ne regolano l'aspetto e la posizione. La modifica delle proprietà di una classe in un diagramma modifica solo l'aspetto della forma e non influisce sulla semantica sottostante o su altre forme che rappresentano tale elemento dell'applicazione.

È possibile utilizzare ulteriori aree per visualizzare altri dettagli quali vincoli o segnali che le istanze della classe possono ricevere.
Le classi in un'applicazione generalmente vengono visualizzate nei diagrammi di classe. Le classi o le relative istanze, tra cui oggetti o ruoli del classificatore, vengono visualizzati spesso in altri tipi di diagrammi, inclusi i diagrammi di sequenza. È possibile aggiungere classi ai diagrammi per rappresentare i seguenti elementi:
Un'applicazione e-commerce include una classe Cart. La classe definisce un attributo itemList e un'operazione addItem che appartiene a tutti gli oggetti di tipo Cart. Durante il runtime, vengono create più istanze della classe Cart, ognuna con attributi e operazioni definiti dalla classe. I valori degli attributi per ogni istanza differiscono se, ad esempio, l'oggetto di una classe chiama l'operazione addItem per aggiungere video al relativo attributo itemList, mentre un'altra istanza utilizza la stessa operazione per aggiungere libri.