C # utilise des modificateurs d'accès (public
, private
, protected
) pour contrôler l'accessibilité des membres dans les classes et les structures. Ces modificateurs définissent la portée à partir de laquelle un membre de classe (champ, propriété, méthode) est accessible. Le modificateur static
ajoute une autre couche de contrôle, définissant des membres qui appartiennent à la classe elle-même, et non des instances individuelles.
Modificateurs d'accès:
public
: Les membres déclarés public
sont accessibles de n'importe où - dans le même assemblage ou tout autre assemblée qui le faisait référence. Cela offre l'accessibilité la plus large.
private
: Les membres déclarés private
ne sont accessibles que dans la classe où ils sont définis. Cela applique une forte encapsulation et une cachette de données.
protected
: Les membres déclarés protected
sont accessibles dans la classe où ils sont définis, ainsi que dans les classes dérivées (classes qui héritent de la classe originale). Cela permet l'héritage et l'extension contrôlés des fonctionnalités.
Aucun modificateur (par défaut): Si aucun modificateur d'accès n'est spécifié, le niveau d'accès par défaut est généralement internal
. Cela signifie que le membre n'est accessible que dans le même assemblée (projet) où il est défini.
Modificateur statique:
Le modificateur static
indique qu'un membre appartient à la classe elle-même, et non à une instance spécifique de la classe. Les membres statiques sont partagés sur toutes les instances. Les membres statiques sont accessibles à l'aide du nom de classe, pas une instance d'objet. Les classes statiques ne peuvent pas être instanciées.
Exemple illustratif:
public class ExampleClass { private int privateVar; protected int protectedVar; public int publicVar; static int staticVar; public void PublicMethod() { } private void PrivateMethod() { } protected void ProtectedMethod() { } static void StaticMethod() { } public static void Main(string[] args) { ExampleClass instance = new ExampleClass(); instance.publicVar = 10; instance.PublicMethod(); // instance.privateVar = 20; // Error: private // instance.PrivateMethod(); // Error: private ExampleClass.staticVar = 5; ExampleClass.StaticMethod(); } }
Dans cet exemple, publicVar
et PublicMethod
sont librement accessibles. privateVar
et PrivateMethod
ne sont accessibles que dans ExampleClass
. protectedVar
et ProtectedMethod
sont accessibles dans ExampleClass
et toutes les classes qui en héritent. staticVar
et StaticMethod
sont accessibles directement via le nom de classe.
Applications pratiques:
Les modificateurs d'accès sont fondamentaux pour les principes de conception orientés objet comme l'encapsulation et l'abstraction. Ils aident à contrôler comment les différentes parties de votre application interagissent, promouvant la maintenabilité du code et réduisant les effets secondaires involontaires. Les membres statiques sont utiles pour les fonctions d'utilité ou les constantes qui ne nécessitent pas d'instance d'objet.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!