Relacionamentos de Permissão

Nos diagramas de classes, um relacionamento de permissão é um relacionamento em que uma classe permite que outra classe tenha visibilidade de seus atributos ou operações encapsulados.

No C/C++, um relacionamento especial permite que uma classe dê permissão para outra classe acessar sua área de dados privada. A classe que recebeu a permissão se torna uma amiga para a classe de compartilhamento. Uma classe que é amiga de outra tem acesso a todos os dados e métodos da classe de compartilhamento.

Por exemplo, uma classe Customer concede permissão para uma classe Account, de forma que a classe Account possa utilizar informações pessoais sobre o cliente. A classe Account torna-se uma amiga da classe Customer. Esse relacionamento facilita para a classe Account a execução de suas tarefas, pois ela tem acesso à classe Customer.

Nota: Os relacionamentos de permissão no C/C++ esquivam-se da encapsulação de dados e podem quebrar o design pretendido de uma ou mais classes. Amigas no C/C++ e devem ser utilizadas com cautela.

Como a figura na tabela a seguir ilustra, um relacionamento de permissão é mostrado como um conector de linha tracejada entre as classes com uma ponta de seta aberta que aponta para a classe amiga ou a classe que tem permissão para acessar os dados privados e os métodos da classe de compartilhamento.

Código-fonte do C/C++ Visualização UML
Uma captura instantânea do código do C/C++ que ilustra um relacionamento de permissão. A C/C++ permission relationship is displayed.
Conceitos relacionados
Relacionamentos de Associação
Relacionamentos de Dependência
Relacionamentos de Generalização
Relacionamentos de Manifestação
Relacionamentos de Associação de Elementos Owned
Generalizações Abstratas

Feedback