Table des matières:
Définition - Que signifient les membres du groupe?
Les membres de classe, en C #, sont les membres d'une classe qui représentent les données et le comportement d'une classe.
Les membres de classe sont des membres déclarés dans la classe et tous ceux (à l'exception des constructeurs et des destructeurs) déclarés dans toutes les classes de sa hiérarchie d'héritage.
Les membres de la classe peuvent être des types suivants:
- Constantes représentant des valeurs constantes
- Champs représentant des variables
- Méthodes fournissant des services comme le calcul ou d'autres actions sur ses membres
- Propriétés qui définissent les fonctionnalités de classe et incluent des actions pour les récupérer et les modifier
- Événements générés pour communiquer entre différentes classes / objets
- Indexeurs qui aident à accéder aux instances de classe similaires aux tableaux
- Opérateurs qui définissent la sémantique lorsqu'ils sont utilisés dans des expressions avec des instances de classe
- Constructeurs d'instances pour initialiser les membres des instances de classe
- Constructeur statique pour initialiser la classe elle-même
- Destructeurs pour exécuter les actions nécessaires à effectuer avant que les instances de classe ne soient supprimées
- Types locaux à la classe (type imbriqué)
Les membres de la classe peuvent être spécifiés individuellement avec l'une des options d'accessibilité suivantes:
- Public - accessible par n'importe quel code au sein de l'assemblage actuel ou externe
- Protégé - accessibilité au sein de la même classe ou de sa classe dérivée
- Privé - accessibilité au sein d'une même classe
- accessibilité interne au sein de l'assemblage actuel
- accessibilité interne protégée au sein de l'assembly actuel ou des classes dérivées de la classe contenante
Contrairement à Java où le niveau d'accessibilité par défaut d'un membre de classe est public, il est privé en C #.
Techopedia explique aux membres de la classe
Les membres de classe sont initialisés dans des constructeurs qui peuvent être surchargés avec différentes signatures. Pour les classes qui n'ont pas de constructeur, un constructeur par défaut qui initialise les membres de la classe (aux valeurs par défaut) sera généré.
Contrairement à C ++, C # permet à une classe d'hériter d'une seule classe de base. Cependant, une classe peut dériver de plusieurs interfaces mais tous les membres de l'interface doivent être implémentés. Ces membres des interfaces d'implémentation de classe ont une visibilité publique par défaut et ne peuvent pas avoir d'autres modificateurs d'accès.
Tous les membres de la classe de base à l'exception des constructeurs sont hérités dans la classe dérivée. Les membres de classe dérivés peuvent masquer le membre de classe de base pour lequel le «nouveau» mot clé doit être utilisé pour indiquer que le membre de base n'est pas remplacé et éviter les avertissements du compilateur.
Un membre de classe statique est un membre de classe statique (qui ne peut pas être instancié ni hérité) auquel on ne peut accéder qu'en utilisant le nom de classe. Contrairement au membre d'instance, il possède une copie du membre statique qui est initialisée avant son premier accès et avant son constructeur statique (le cas échéant).
Les membres de la classe abstraite empêchent l'instanciation directe et doivent être implémentés dans une classe dérivée pour pouvoir être utilisés. Pour empêcher une classe ou des membres de la classe d'hériter, la classe ou ses membres peuvent être déclarés «scellés». Les membres de classe peuvent être utilisés comme constante de «compilation» à l'aide du modificateur «const» et comme constantes d'exécution à l'aide du modificateur «readonly».
Lors de la déclaration de membres de classe dans un nouvel espace de déclaration, les règles suivantes s'appliquent:
- À l'exception des constructeurs et des destructeurs, tous les autres membres doivent avoir un nom différent du nom de la classe
- Les noms de constante, champ, propriété, événement ou type doivent être uniques au sein de la classe
- Plusieurs méthodes peuvent être déclarées avec le même nom mais doivent différer dans leur signature
- La signature de l'indexeur et de l'opérateur doit être unique parmi celles déclarées dans la classe
- Les membres de classe ne peuvent pas avoir de signatures réservées qui sont des noms de membres réservés pour les propriétés, les événements, l'indexeur et «Finalize»
- Le type de membre, le paramètre et la valeur de retour d'une méthode, d'un délégué ou d'un indexeur doivent être accessibles en tant que membre lui-même
- Les opérateurs définis par l'utilisateur doivent avoir un niveau d'accessibilité public