Existem seis tipos principais de relacionamentos entre classes: herança, realização/implementação, composição, agregação, associação e dependência. As setas para os seis relacionamentos são as seguintes:

Então passamos a entender o conteúdo específico da relação de classe.

UML class diagram relationships

Seis tipos de relacionamentos

Nos seis tipos de relacionamentos, a estrutura de código dos três tipos de relacionamentos, como composição, agregação e associação, é a mesma que usar atributos para armazenar as referências de outra classe. Portanto, eles devem ser distinguidos pela relação entre os conteúdos.

Herança

A herança também é chamada de generalização e é usada para descrever o relacionamento entre as classes pai e filha. Uma classe pai também é chamada de classe base e uma subclasse também é chamada de classe derivada.
No relacionamento de herança, a subclasse herda todas as funções da classe pai, e a classe pai tem todos os atributos, métodos e subclasses. As subclasses contêm informações adicionais além das mesmas informações que a classe pai.
Por exemplo: ônibus, táxis e carros são carros, todos eles têm nomes e podem estar na estrada.

Realização / Implementação

Implementação (Implementação) é usada principalmente para especificar o relacionamento entre interfaces e classes de implementação .
Uma interface (incluindo uma classe abstrata ) é uma coleção de métodos. Em um relacionamento de implementação, uma classe implementa uma interface e os métodos da classe implementam todos os métodos da declaração da interface.

Por exemplo: carros e navios são veículos, e o veículo é apenas um conceito abstrato de uma ferramenta móvel, e o navio e o veículo realizam as funções móveis específicas.

Relação de composição

Composição: A relação entre o todo e a parte, mas o todo e a parte não podem ser separados .

A relação de combinação representa a relação entre o todo e parte da classe, e o geral e a parte têm um tempo de vida consistente. Uma vez que o objeto geral não exista, alguns dos objetos não existirão e todos morrerão na mesma vida. Por exemplo, uma pessoa é composta de uma cabeça e um corpo. Os dois são inseparáveis ​​e coexistem.

Relação de agregação

Agregação: A relação entre o todo e a parte, e o todo e a parte podem ser separados.
As relações agregadas também representam o relacionamento entre o todo e parte da classe, os objetos membros fazem parte do objeto geral, mas o objeto membro pode existir independentemente do objeto geral.

Por exemplo, motoristas de ônibus e roupas de trabalho e chapéus fazem parte do relacionamento geral, mas podem ser separados. Roupas de trabalho e chapéus podem ser usados ​​em outros motoristas. Os motoristas de ônibus também podem usar outras roupas de trabalho e chapéus.

Relações de Associação

Associação: Indica que uma propriedade de uma classe contém uma referência a uma instância (ou instâncias) de outra classe .
Associação é o relacionamento mais comumente usado entre uma classe e uma classe, o que significa que há uma conexão entre um tipo de objeto e outro tipo de objeto. Combinações e agregações também pertencem a relações associativas , mas as relações entre classes de afiliações são mais fracas que as outras duas.
Existem quatro tipos de associações : associações bidirecionais , associações unidirecionais , auto-associação e associações de vários números .
Por exemplo: carros e motoristas, um carro corresponde a um determinado motorista e um motorista pode dirigir vários carros.
Em diagramas UML, associações bidirecionais podem ter duas setas ou nenhuma seta , e associações unidirecionais ou autoassociações têm uma seta .
Em um relacionamento de multiplicidade, você pode adicionar um número diretamente à linha associada para indicar o número de objetos na classe correspondente.
  • 1..1: Apenas um
  • 0..*: Zero ou mais
  • 1..*:um ou mais
  • 0..1: Nenhum ou apenas um
  • m..n: no mínimo m, no máximo n (m<=n)

Dependências

Dependência: Suponha que uma mudança na classe A cause uma mudança na classe B, então diga que a classe B depende da classe A.
Na maioria dos casos, as dependências são refletidas em métodos de uma classe que usam o objeto de outra classe como parâmetro .

Uma relação de dependência é uma relação de “uso”. Uma mudança em uma determinada coisa pode afetar outras coisas que a utilizam, e usar uma dependência quando é necessário indicar que uma coisa usa outra. Por exemplo: O carro depende de gasolina. Se não houver gasolina, o carro não poderá dirigir.

Diagrama de Classes – Sistema de Pedidos
O diagrama de classes abaixo modela um pedido de cliente de um catálogo de varejo. A classe central é a Ordem . Associados a ela estão o Cliente que efetua a compra e o Pagamento . Um Pagamento pode ser de quatro tipos: Dinheiro , Cheque , Crédito ou Transferência Bancária . O pedido contém OrderDetails (itens de linha), cada um com seu Item associado .
類圖模板:UML 類圖示例:銷售訂單系統(由 Visual Paradigm Online 的類圖製作者創建)

EDITAR ESTE MODELO

Exemplo de diagrama de classe: GUI

Um diagrama de classes também pode ter notas anexadas a classes ou relacionamentos.

類圖模板:類圖 GUI 示例(由 Visual Paradigm Online 的類圖製作者創建)

EDITAR ESTE MODELO

Diagrama de classe com restrição definida pelo usuário

類圖模板:類圖 - 類和包約束(由 Visual Paradigm Online 的類圖製作者創建)

EDITAR ESTE MODELO

Entre os seis tipos de relacionamentos, a estrutura de código de combinação, agregação e associação é a mesma e pode ser compreendida a partir da força do relacionamento. A ordem de forte para fraco é: herança → implementação → composição → agregação → associação → dependência . A seguir está um diagrama UML completo.