EXPLICACAO SOBRE MODIFICADOR DE ACESSO

MARCOS 27/04/2011 14:47:39
#372619
Bom dia,Colegas!
No que diz respeito ao VB.NET:

Quando crio uma classe, temos de definir o modificador de acesso.Ou seja se a classe será:

- Public
- Private
- Friend
- Protected

Public e Private, são conhecidas. No entanto tenho dúvidas sobre a Friend e a Protected.
Procurando no Google, a definição que se encontra é a de que a classe Friend é aquela que
é visivel [Ô]localmente[Ô] e a Protected não pode ser acessada,mas pode ser instânciada.Minha
dúvida é:

Algum colega, pode explicar melhor. Ou seja, mencionar situações em que se pode usar
uma classe Friend ou Protected?
JONATHANSTECKER 27/04/2011 15:33:41
#372621
Resposta escolhida
Os acessos Protected e Friend oferecem um nível intermediário de proteção entre o acesso Public e o Private.
Os membros Protected de uma classe-base podem ser acessados apenas nessa classe-base ou em quaisquer classes derivadas dessa classe.
Já os membros Friend de uma classe-base podem ser acessados apenas por objetos declarados no mesmo componente. Observe que um membro Friend é acessível em qualquer parte do componente na qual o membro Friend é declarado e não apenas nas classes derivada da classe-base que define o membro.
Public Class Class1

Protected Sub TesteProtected()
MessageBox.Show([Ô]Membro Protected[Ô])
End Sub

Friend Sub TesteFriend()
MessageBox.Show([Ô]Membro Friend[Ô])
End Sub

End Class

Ou seja, eu vou conseguir acessar o membro Protected somente onde esta classe esteja sendo herdada.
Public Class Class2
Inherits Class1 [ô] Herança

Sub Teste1()
TesteProtected() [ô] Consigo chamar o método protected
End Sub

End Class

E quanto ao membro Friend, eu vou conseguir acessar sempre que houver uma instância dele.
Public Class Class2

Sub Teste2()
Dim Instancia As New Class1 [ô] Instância da Class1
Instancia.TesteFriend() [ô] Consigo chamar o método friend
End Sub

End Class
RODRIGOFERRO 27/04/2011 15:46:15
#372622
Há... boa JONATHANSTECKER Zero assina embaixo !

Abraços !
Tópico encerrado , respostas não são mais permitidas