UML oferece uma característica para organizar diferentes relacionamentos entre uma classe pai e uma classe filha. O conjunto de generalização define as regras para a partição da superclasse. Uma superclasse pode ter um ou mais conjuntos de generalizações para refletir o fato que, classes filhas podem parecer com o pai de maneiras diferentes. Todos os conjuntos de generalizações tem um atributo para indicar se eles podem sobrepor (overlap) com outras classes. Sobrepor significa que qualquer subclasse no relacionamento de herança pode herdar mais de uma fonte (isto é, pode usar herança múltipla com uma superclasse comun na árvore de herança). O conjunto de generalização tem um atributo indicando se o conjunto esta completo. Se ele esta completo, isso significa que todas as subclasses foram especificadas e que nenhuma subclasse mais pode ser criada.

Mecanismo para modelar classes feitas de subclasse. Um powertype pode ser especificado através da indicação do nome da superclasse precedida por uma chaves no relacionamento de generalização. Dependendo do powertype, a classe pode herdar diferentes atributos e operações.
