OVH Cloud OVH Cloud

friend class et friend sub ou var

3 réponses
Avatar
friend
je me demande quelle est la porte d'une fonction ou d'une
procedure ecrite comme ca:

friend class toto
friend sub machin()
end class


le fait de mettre friend a machin() ca revient au meme que
de le mettre public?

3 réponses

Avatar
Christophe QUEVAL
Bonjour,

Non, friend permet de limiter sa portée à l'assembly en cours.

Christophe
"friend" a écrit dans le message de
news: 152e01c4b2bb$cface6e0$

je me demande quelle est la porte d'une fonction ou d'une
procedure ecrite comme ca:

friend class toto
friend sub machin()
end class


le fait de mettre friend a machin() ca revient au meme que
de le mettre public?


Avatar
Eric Mittelette[MS\)
NON ce n'est pas équivalent à public.
Ca permet d'acceder à la class depuis l'assembly.
De manière génral, Friend dénonce souvent un pb de conception, cela traduit
souvent le fait qu'il manque des méthode/propriété publique sur la classe...
HTH
Eric
"friend" a écrit dans le message de
news: 152e01c4b2bb$cface6e0$

je me demande quelle est la porte d'une fonction ou d'une
procedure ecrite comme ca:

friend class toto
friend sub machin()
end class


le fait de mettre friend a machin() ca revient au meme que
de le mettre public?


Avatar
Zazar
Bonsoir,

je me demande quelle est la porte d'une fonction ou d'une
procedure ecrite comme ca:

friend class toto
friend sub machin()
end class


le fait de mettre friend a machin() ca revient au meme que
de le mettre public?



Dans ce cas précis, oui. Mais supposez par exemple que votre classe toto
soit la classe mère d'une classe publique : dans ce cas il y a une
différence entre déclarer machin() friend et public.

--
Zazar