5. Méthodes statiques et namespaces

Dans les exemples vus jusqu’ici, pour accéder aux méthodes d’une classe (par exemple Personne) il faut créer une instance de la classe. Dans certains cas, cependant, il peut être utile d’avoir des procédures qui n’ont pas besoin d’une instance à utiliser, mais qui peuvent être appelées simplement avec le nom de la classe.

 

Méthodes statiques

Supposons par exemple que la méthode Square soit contenue dans la classe Mathématique. Il est raisonnable de penser qu’une telle procédure peut être appelée sans avoir d’abord à créer une instance de la classe qui la contient. C’est pourquoi le mot-clé static (qui correspond au Shared de VB .NET) est utilisé :

 
 
  1. public static int Square(int N)
  2. {
  3. return N * N;
  4. }

 

L’utilisation de cette routine est immédiate:

 
 
  1. // q obtient la valeur de 25
  2. int q = Mathématique.Square(5);

 

Notons que les fonctions WriteLine() et ReadLine() de la classe Console, que nous avons introduites ici-dessus, sont vraiment des méthodes statiques.

 

Namespaces

Plusieurs classes peuvent être regroupées en un seul namespace. Par exemple :

 
 
  1. namespace Test
  2. {
  3. public class Classe1
  4. { }
  5. public class Classe2
  6. { }
  7. }

 

Avec cette construction, par exemple, pour déclarer un objet Classe1, il faut écrire :

 
 
  1. Test.Classe1 c1 = new Test.Classe1();

 

Il en va de même pour Classe2. Une fois cela fait, vous pouvez accéder aux méthodes et propriétés de classe de la manière habituelle. Les namespaces sont toujours publics.

Vous pouvez définir des namespaces imbriqués, par exemple :

 
 
  1. namespace N1
  2. {
  3. namespace N2
  4. {
  5. public class Classe1
  6. { }
  7. public class Classe2
  8. { }
  9. }
  10. }
  11. N1.N2.Classe1 c1 = new N1.N2.Classe1();
  12. N1.N2.Classe2 c2 = new N1.N2.Classe2();

 

Toutes les classes qui composent l’infrastructure .NET sont organisées en namespace. Par exemple, la classe Form, dont de tous les Windows form (que nous traiterons plus tard) hériteent, est accessible dans le namespace Windows.System.Forms.Form.

Si vous ne voulez pas indiquer chaque fois les namespaces des classes que vous utilisez, vous pouvez utiliser le mot-clé using (similaire à import de Java), qui spécifie les namespaces à rechercher dans les classes.

Les clauses using doivent être spécifiées au début de la classe, avant toute autre déclaration. Par exemple, dans le programme HelloWorld créé dans les leçons précédentes, vous utilisez la classe Console, qui est contenue dans le namespace System ; au lieu de l’exprimer explicitement, vous pouvez utiliser le mot-clé en utilisant :

 
 
  1. using System;
  2. public class HelloWorld
  3. {
  4. public static void Main()
  5. {
  6. Console.WriteLine("Bonjour Monde !");
  7. Console.ReadLine();
  8. }
  9. }

 

 

Précédent : 4. Classes, méthodes et propriétés en C#                     Suivant : 6. Types de données de base et passage de paramètres

Comments
Chargement ...
"