6
votes

Différence entre le spécificateur d'accès et le modificateur d'accès

J'ai lu sur Internet et j'ai entendu des gens dire

Spécificateurs d'accès ::

Le spécificateur d'accès détermine comment accessible le champ est de coder dans d'autres classes. Accès à des gammes de totalement accessible à totalement inaccessible. Vous pouvez éventuellement Déclarez un champ avec un accès Specififier Mot-clé: Public, Privé, ou protégé.

modificateurs d'accès ::

Vous pouvez éventuellement déclarer un champ avec un mot-clé modificateur: final ou volatile et / ou statique et / ou transitoire, abstrait, etc.

Y a-t-il une différence du tout? Parce que la plupart des définitions des modificateurs d'accès et des spécificateurs d'accès indiquent la même chose .. qui semble si ambiguë.


2 commentaires

Classe publique et dire classe statique publique, cela frappe-t-il quelque chose


Je pense qu'il n'y a pas de mot clé "transitoire" en C #. Il est utilisé dans J # pour marquer des champs non sérialisables.


5 Réponses :


7
votes

Dans ce contexte, vous pouvez penser aux spécificateurs d'accès comme spécificateurs de protection - ils spécifient où une variable est accessible à partir de. En revanche, les les modificateurs sont complètement différents; Ils spécifient comment les variables doivent être consultées (ou non) être consultées; par exemple. En lecture seule, volatile, etc.

I.e., une variable peut être publique mais la lecture seule, ou elle peut être privée et enrichie - les spécificateurs d'accès n'ont rien à voir avec les modificateurs.

Cependant, je suis un peu surpris que la terminologie soit pour C #, car Microsoft appelle en réalité public et privé " Mélificateurs d'accès ", et il appelle volatile et Readonly juste un simple " modificateurs ".


2 commentaires

C'est ce que cela me semble aussi. (J'ai très bien dit la même chose dans ma question). Il serait plus utile que vous puissiez citer vos sources.


Manière trop confuse de modificateur d'accès à terminologie, modificateur et spécificateurs d'accès. Merci pour les sources. Cela a vraiment aidé.



2
votes

Autant que je puisse le voir, il n'y a aucune différence entre les termes. La documentation MS C ++, par exemple, utilise les deux termes pour la même chose.


1 commentaires

Oui, exactement! Même MSDN utilise les termes interchangeables.



1
votes

Je pense qu'un spécificateur d'accès détermine la visibilité d'un certain champ / méthode.

Un modificateur d'accès vous indique plus sur le comportement et l'utilisation de ce champ. Vous pouvez dire si le champ nécessite ou non un objet instancié ou si cela peut être remplacé.


0 commentaires

2
votes

2 commentaires

En fait, j'ai trouvé cela aussi. Je vais uppoter cela. Mais je faisais référence au terme en général et non c # -pecific. (Malgré la balise C #. Désolé pour ça.)


S'il vous plaît voir ma mise à jour. Cela devrait être une bonne réponse pour résumer votre question sans réponse. :RÉ



0
votes

Les spécificateurs d'accès d'une classe indiquent quelles autres variables de classe peuvent accéder à la classe actuelle. Les modificateurs d'accès d'une classe indique la même fonctionnalité des spécificateurs d'accès


0 commentaires