UML: Níveis de visibilidade UML x Java
Níveis de visibilidade UML x Java: arquivo PDF.
[]s e até a próxima!
_________________________
Rogério Araújo
Blog: https://rogerioaraujo.wordpress.com/
Gmail: rgildoaraujo@gmail.com
Twitter: http://twitter.com/rgildoaraujo
Manobra radical. Será que ela ensina?
Até hoje tento fazer isso com meu carro e sempre lasco ele no muro! =D
Rogério, somente eu acho que o Protected na UML é mais restritivo do que o Default ?
Por que acha isso?
Vamos lá….
Não temos dúvidas que o Public e Default no Java e na UML são iguais.
Não temos dúvidas que o Private tem uma singela entre Java e UML (os atributos herdados)
Agora no Java o Protect permite acesso:
1- As Subclasses
2- Os Pacotes (mesmos que não sejam subclasses)
Agora na UML o Protect permite apenas:
1- Subclasses
Alexandre, o Protected na UML é:
– Mais restritivo do que Protected em Java (sem sombra de dúvidas); e
– Mais liberal do que o Package em UML (este é igual ao Default em Java).
Explicando o último item: o Protected na UML é mais liberal do que o Package também na UML, pois um atributo protegido pode ser acessado por todas as subclasses da classe que contém esse atributo, mesmo que em pacotes diferentes. Um atributo de pacote de uma classe será vista apenas por classes do mesmo pacote.
[]s
Eu acho que não respondi a pergunta inicial. Vamos lá.
Na sua imagem mostra que o Default é mais restritivo que o Protected na UML. Certo ?
Vamos pensar apenas na UML:
1- O Protected permite que apenas suas subclasses acessam seus atributos e operações. Ok ?
( criamos um vinculo rastreável )
2- O Default permite que QUALQUER classe do mesmo pacote acesse seus atributos e operações. Ok?
( não criamos qualquer vínculo e mesmo assim podemos usar os atributos e operações )
Entendo que no Protected que estejam em diferentes pacotes há uma dependência rastreável.
No Default não há essa rastreabilidade. Basta estarem dentro do mesmo pacote.
Entendo sua visão. Também ainda tenho uma dúvida em relação a esse ponto de restrição. Quando fiz o artigo, fiquei com dúvida se protected seria mais liberal que o package (ou default em Java), ambos em UML.
O livro do Guia do Usuário UML não diz nada. Eu fiz o gráfico por pesquisas que fiz.
[]s