English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Une classe est comme un plan pour un objet spécifique. Dans le monde réel, chaque objet a certaines couleurs, formes et fonctions-Par exemple, la Ferrari de luxe. La Ferrari est un objet du type de voiture de luxe. La voiture de luxe est une classe indiquant certaines caractéristiques, telles que la vitesse, la couleur, la forme, l'intérieur, etc. Par conséquent, toute entreprise fabriquant des voitures répondant à ces exigences est un objet du type voiture de luxe. Par exemple, chaque voiture de BMW, Lamborghini, Cadillac est un objet de la classe "voiture de luxe". Ici, "voiture de luxe" est une classe et chaque voiture physique est un objet de la classe "voiture de luxe".
De même, dans la programmation orientée objet, une classe définit certaines propriétés, champs, événements, méthodes, etc. Une classe définit le type de données et les fonctionnalités que l'objet aura.
Une classe vous permet de créer des types personnalisés en regroupant des variables de types, de méthodes et d'événements.
En C#, vous pouvez définir une classe en utilisant la keyword class.
public class MyClass { public string myField = string.Empty; public MyClass() { } public void MyMethod(int parameter1, string parameter2) { Console.WriteLine("Premier paramètre {0}, deuxième paramètre {1}1, paramètre2); } public int MyAutoImplementedProperty { get; set; } private int myPropertyVar; public int MyProperty { get { return myPropertyVar; } set { myPropertyVar = value; } } }
La figure suivante montre les composants importants des classes C#.
Les modificateurs d'accès sont appliqués aux déclarations de classes, méthodes, propriétés, champs et autres membres. Ils définissent l'accessibilité de la classe et de ses membres. Public, privé, protégé et interne sont les modificateurs d'accès en C#. Nous en parlerons dans la partie des mots-clés.
Ce champ est une variable de niveau classe ayant une valeur. Habituellement, les membres de champ devraient avoir un modificateur d'accès privé et être utilisés avec des propriétés.
Une classe peut avoir un constructeur paramétré ou sans paramètres. Lors de la création d'une instance de la classe, le constructeur est appelé. Vous pouvez définir le constructeur en utilisant les modificateurs d'accès et le nom de la classe :
<modificateurs d'accès nom de la classe> { }
class MyClass { public MyClass() { } }
Il est possible d'utiliser le modèle suivant pour définir une méthode :
{access modifier} {return type} MethodName({parameterType parameterName})
public void MyMethod(int parameter1, string parameter2) { // Écrivez ici votre code de méthode. }
Vous pouvez définir une propriété en utilisant getter et setter, comme suit :
private int _myPropertyVar; public int MyProperty { get { return _myPropertyVar; } set { _myPropertyVar = value; } }
Une propriété encapsule un champ privé. Elle fournit des getters (get {}) pour récupérer la valeur du champ de base, et des setters (set {}) pour définir la valeur du champ de base. Dans l'exemple ci-dessus, _myPropertyVar est un champ privé et ne peut pas être accédé directement. Il ne peut être accédé que via MyProperty. Par conséquent, MyProperty encapsule _myPropertyVar.
Vous pouvez également appliquer certaines autres logiques dans get et set, comme dans les exemples suivants.
private int _myPropertyVar; public int MyProperty { get { return _myPropertyVar / 2; } set { if (value > 100) _myPropertyVar = 100; else _myPropertyVar = value; } }
À partir de C#3De 0.0, si vous ne souhaitez pas appliquer certaines logiques dans get ou set, vous pouvez facilement déclarer la propriété.
Voici un exemple de propriété automatisée :
public int MyAutoImplementedProperty { get; set; }
Veuillez noter que dans les exemples de propriétés mentionnés ci-dessus, il n'y a pas de champ de sauvegarde privé. Les champs supportés seront créés automatiquement par le compilateur. Vous pouvez utiliser les propriétés automatisées de la même manière que les propriétés régulières de la classe. Les propriétés automatisées sont simplement implémentées pour faciliter la déclaration de propriétés lorsque les accesseurs de propriété n'ont pas besoin de logique supplémentaire.
Un espace de noms est un conteneur pour un ensemble de classes et d'espaces de noms. Les espaces de noms sont également utilisés pour fournir des noms uniques aux classes à l'intérieur de l'espace de noms. Les espaces de noms et les classes sont représentés par le point (.).
En C#, vous pouvez utiliser le mot-clé namespace pour définir un espace de noms.
namespace CSharpTutorials { class MyClass { } }
Dans l'exemple ci-dessus, le nom complet de la classe MyClass est CSharpTutorials.MyClass.
Les espaces de noms peuvent contenir d'autres espaces de noms. Les espaces de noms internes peuvent être séparés par un point (.)
namespace CSharpTutorials.Examples { class MyClassExample { } }
Dans l'exemple ci-dessus, le nom complet de la classe MyClassExample est CSharpTutorials.Examples.MyClassExample.