Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Déclarez des classes à l’aide du class mot clé, comme indiqué dans l’exemple suivant :
class TestClass
{
// Methods, properties, fields, events, delegates
// and nested classes go here.
}
C# ne prend en charge qu’un seul héritage. En d’autres termes, une classe peut hériter de l’implémentation d’une seule classe de base. Toutefois, une classe peut implémenter plusieurs interfaces.
La documentation de référence du langage C# décrit la version la plus récente du langage C#. Il contient également la documentation initiale des fonctionnalités dans les préversions publiques pour la prochaine version du langage.
La documentation identifie toute fonctionnalité introduite en premier dans les trois dernières versions de la langue ou dans les préversions publiques actuelles.
Conseil / Astuce
Pour savoir quand une fonctionnalité a été introduite en C#, consultez l’article sur l’historique des versions du langage C#.
Pour plus d’informations sur les classes, les interfaces et l’héritage, consultez l’article sur l’héritage dans la section Notions de base.
Vous pouvez déclarer des classes directement dans un espace de noms. N’imbriquez pas ces classes dans d’autres classes. Vous pouvez effectuer ces classes soit public .internal Par défaut, les classes sont internal.
Vous pouvez déclarer des membres de classe, y compris des classes imbriquées, as public, protected internal, protected, internalprivateou private protected. Par défaut, les membres sont private.
Pour plus d’informations, consultez Modificateurs d’accès.
Vous pouvez déclarer des classes génériques qui ont des paramètres de type. Pour plus d’informations, consultez Classes génériques.
Une classe peut contenir des déclarations des membres suivants :
- Constructeurs
- Constants
- Champs
- Finaliseurs
- Méthodes
- Propriétés
- Indexeurs
- Opérateurs
- Événements
- délégués
- Classes
- Interfaces
- Types de structures
- Types d’énumération
Exemple :
L’exemple suivant illustre la déclaration de champs de classe, de constructeurs et de méthodes. Il illustre également l’instanciation des objets et l’impression de données d’instance. Dans cet exemple, deux classes sont déclarées. La première classe, Childcontient deux champs privés (name et age), deux constructeurs publics et une méthode publique. La deuxième classe, , StringTestcontient Main.
class Child
{
private int age;
private string name;
// Default constructor:
public Child()
{
name = "N/A";
}
// Constructor:
public Child(string name, int age)
{
this.name = name;
this.age = age;
}
// Printing method:
public void PrintChild()
{
Console.WriteLine("{0}, {1} years old.", name, age);
}
}
class StringTest
{
static void Main()
{
// Create objects by using the new operator:
Child child1 = new Child("Craig", 11);
Child child2 = new Child("Sally", 10);
// Create an object using the default constructor:
Child child3 = new Child();
// Display results:
Console.Write("Child #1: ");
child1.PrintChild();
Console.Write("Child #2: ");
child2.PrintChild();
Console.Write("Child #3: ");
child3.PrintChild();
}
}
/* Output:
Child #1: Craig, 11 years old.
Child #2: Sally, 10 years old.
Child #3: N/A, 0 years old.
*/
Commentaires
Vous pouvez uniquement accéder aux champs privés (name et age) via la méthode publique de la Child classe. Par exemple, vous ne pouvez pas imprimer le nom de l’enfant à partir de la méthode à l’aide Main d’une instruction comme suit :
Console.Write(child1.name); // Error
L’accès aux membres privés de Child partir Main n’est possible que s’il Main s’agit d’un membre de la classe. Les types déclarés à l’intérieur d’une classe sans modificateur d’accès par défaut private, les membres de données de cet exemple sont toujours private si le mot clé est supprimé. Enfin, pour l’objet créé à l’aide du constructeur sans paramètre (child3), le age champ est initialisé à zéro par défaut.
Spécification du langage C#
Pour plus d'informations, voir la spécification du langage C#. La spécification du langage est la source de référence pour la syntaxe C# et son utilisation.