Class est l'un des types de base en C#. Nous pouvons considérer une classe comme un modèle pour les objets liés au domaine problématique. Il s'agit d'un modèle pour les objets que nous créons, définissant la structure et le comportement qui seront partagés par les ensembles d'objets créés à partir de cette classe. En termes simples, la classe est un emporte-pièce et l'objet est le cookie lui-même.
Les cours prennent également en charge l'encapsulation, un concept important dans la programmation orientée objet. Cela signifie combiner les données et les opérations qui traitent les données en un seul endroit et fournir une API simple aux utilisateurs de cet objet. Les classes nous permettent d'encapsuler des données et de masquer les détails non pertinents des autres classes.
Nous pouvons créer une classe en utilisant le mot-clé class suivi du nom de la classe.
// User.cs public class User{ private string name; private int salary; public void Promote(){ salary += 1000; } }
Dans l'exemple ci-dessus, User est une classe qui représente l'utilisateur. Cette classe encapsule deux éléments de données : nom et salaire. Ceux-ci sont appelés champs de classe et contiennent le nom et le salaire de l'utilisateur. Il dispose également d'une méthode appelée Promote() pour augmenter le salaire de l'utilisateur.
Chaque classe a un modificateur d'accès associé qui contrôle si la classe sera visible par les autres classes. Vous trouverez ci-dessous les cinq valeurs possibles que nous pouvons fournir pour le modificateur d'accès.
Modificateurs d'accès | Description th> |
---|---|
Public | Accès illimité |
Protégé | Accès limité aux classes dérivées |
Interne | Accès limité aux assemblées |
Interne protégé | Accès à l'assembly ou à la classe dérivée restreint |
Privé | Pas d'accès externe |
Pour créer une instance d'une classe nous pouvons utiliser le mot-clé new. L'opérateur new calcule le nombre d'octets requis pour les données d'un objet et alloue de la mémoire pour l'objet. Il renvoie ensuite un pointeur (également appelé référence) vers l'objet nouvellement créé.
var alice = new User(); var bob = new User();
Ensuite, stockez cette référence dans la variable à gauche du signe égal. Dans l'exemple ci-dessus, Alice et Bob enregistrent une référence ou un pointeur vers l'objet nouvellement créé.
En C#, la convention de dénomination des classes suit PascalCase, c'est-à-dire mettre en majuscule la première lettre de chaque mot dans un mot composé, tel que StringBuilder, UserController, etc. Il n'est pas nécessaire de créer une classe dans le fichier correspondant au nom de la classe. Cependant, la plupart des projets C# utilisent cette convention.
Dans l'exemple ci-dessus, lorsque nous avons créé des instances de classe Utilisateur (c'est-à-dire Alice et Bob), nous n'avons pas fourni leur nom initial et leur salaire. En règle générale, un objet nouvellement créé nécessite certaines informations pour faire son travail et le constructeur est utilisé pour initialiser les données de la classe.
Nous pouvons ajouter un constructeur pour spécifier le nom et le salaire de l'utilisateur comme ceci :
public class User{ private string name; private int salary; public User(string name, int salary){ this.name = name; this.salary = salary; } public void Promote(){ salary += 1000; } }
Avoir le constructeur nous permet de transmettre le nom et le salaire de l'utilisateur lors de la création d'une nouvelle instance.
var alice = new User("Alice", 50000); var bob = new User("Bob", 45000);
Il peut y avoir plusieurs constructeurs dans une classe. Avoir plusieurs constructeurs nous permet d'initialiser une classe de différentes manières. Par exemple, nous pourrions ajouter un autre constructeur qui prend simplement un nom d'utilisateur et attribue un salaire par défaut.
public User(string name){ this.name = name; this.salary = 50000; }
Exemple de démonstration
using System; class Program{ static void Main(){ var alice = new User(); alice.Print(); var bob = new User(); bob.Print(); var chris = new User("Chris", 50000); chris.Print(); var debs = new User("Debs", 45000); debs.Print(); var scott = new User("Scott"); scott.Print(); } } public class User{ private string name; private int salary; public User(){ } public User(string name){ this.name = name; this.salary = 50000; } public User(string name, int salary){ this.name = name; this.salary = salary; } public void Promote(){ salary += 1000; } public void Print(){ Console.WriteLine($"{name}: {salary}"); } }
: 0 : 0 Chris: 50000 Debs: 45000 Scott: 50000
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!