Latest web development tutorials

C # classe (classe)

Lorsque vous définissez une classe, vous définissez un plan pour un type de données. Cela ne définit pas réellement toutes les données, mais il définit le nom de la classe ce que cela signifie, qui est, ce qui constitue une classe d'objet et d'effectuer ce que les opérations sur l'objet. Les objets sont des instances de classes. Méthodes et variables constituant la classe devient membres de la classe.

définition de classe

La définition de la classe est de commencer, suivi par le nom de classe de laclasse de mot - clé.Corps de la classe, contenue dans une paire d'accolades. Ce qui suit est la forme générale de la définition de la classe:

<Accès specifier> class_name de classe 
{
    // Les variables membres
    <Accès specifier> <type de données> variable1;
    <Accès specifier> <type de données> variable2;
    ...
    <Accès specifier> <type de données> variableN;
    // Méthodes de membres
    <Accès specifier> <type de retour> method1 (parameter_list) 
    {
        // Corps Méthode 
    }
    <Accès specifier> <type de retour> method2 (parameter_list) 
    {
        // Corps Méthode 
    }
    ...
    <Accès specifier> <type de retour> methodN (parameter_list) 
    {
        // Corps Méthode 
    }
}

S'il vous plaît noter:

  • Identificateur d'accès <spécificateur d'accès> indique la classe de règle d'accès et de ses membres. Si non spécifié, l'identifiant d'accès par défaut. Par défaut classe identificateur d' accès estinterne, les membres l' accès d'identification par défaut est privé.
  • Type de données <type de données> spécifie le type de la variable, le type de retour <type de retour> spécifie le type de données renvoyées par la méthode retourne.
  • Si vous souhaitez accéder à un membre de la classe, vous souhaitez utiliser le point (.) Opérateur.
  • opérateur Dot relie le nom du nom et les membres de l'objet.

Les exemples suivants illustrent les concepts discutés jusqu'à présent:

using System;
namespace BoxApplication
{
    classe Box
    {
       longueur publique double, // double longueur étendue public; // largeur double hauteur public; // hauteur}
    classe Boxtester
    {
        static void Main (string [] args)
        {
            Box Box1 = new Box (); // déclarer Box1, tapez Box
            Box Box2 = new Box (); // déclarer Box2, tapez Box
            volume double = 0,0; // // volume de Box1 détaillant Box1.height = 5,0;
            Box1.length = 6,0;
            Box1.breadth = 7,0;

            // Box2 détaillant Box2.height = 10,0;
            Box2.length = 12,0;
            Box2.breadth = 13,0;
           
            // Volume volume Box1 = Box1.height * Box1.length * Box1.breadth;
            Console.WriteLine ( «volume Box1: {0}", volume);

            // Volume volume Box2 = Box2.height * Box2.length * Box2.breadth;
            Console.WriteLine ( «volume Box2: {0}", volume);
            Console.ReadKey ();
        }
    }
}

Lorsque le code ci-dessus est compilé et exécuté, il produit les résultats suivants:

le volume Box1: 210
le volume Box2: 1560

Les fonctions membres et package

fonctions membres de la classe, il est une définition ou d'une fonction prototype dans la définition de la classe, comme toute autre variable. En tant que membre de la classe, il peut fonctionner sur une classe d'objets, tous les membres et peut accéder à la classe de l'objet.

Les variables membres sont les propriétés des objets (à partir d'un point de vue de la conception), et ils restent privées à mettre en œuvre ensemble. Ces variables ne peuvent être utilisés pour accéder aux fonctions de membres du public.

Nous allons utiliser les concepts ci-dessus pour définir et obtenir la valeur d'un type de membres de la classe différente:

using System;
namespace BoxApplication
{
    classe Box
    {
       longueur double privée; // double longueur étendue privée; // largeur double hauteur privée; // hauteur setLength public void (double len)
       {
            longueur = len;
       }

       setBreadth public void (double rep)
       {
            largeur = rep;
       }

       setHeight public void (double hei)
       {
            height = hei;
       }
       Public Double getVolume ()
       {
           longueur de retour * largeur * hauteur;
       }
    }
    classe Boxtester
    {
        static void Main (string [] args)
        {
            Box Box1 = new Box (); // déclarer Box1, tapez Box
            Box Box2 = new Box (); // déclarer Box2, tapez Box
            volume double; // // Box1 volume de détails Box1.setLength (6.0);
            Box1.setBreadth (7.0);
            Box1.setHeight (5,0);

            // Box2 détaillant Box2.setLength (12,0);
            Box2.setBreadth (13.0);
            Box2.setHeight (10,0);
       
            // Volume de Box1 de volume = Box1.getVolume ();
            Console.WriteLine ( «volume Box1: {0}", volume);

            // Volume de Box2 de volume = Box2.getVolume ();
            Console.WriteLine ( «volume Box2: {0}", volume);
           
            Console.ReadKey ();
        }
    }
}

Lorsque le code ci-dessus est compilé et exécuté, il produit les résultats suivants:

le volume Box1: 210
le volume Box2: 1560

# constructeurs C

Constructeur de la classe est une fonction spéciale de membre de classe exécutée lors de la création d' une nouvelle classe d'objets.

Nom Le nom du constructeur de la classe exactement le même, il n'a pas de type de retour.

L'exemple suivant illustre le concept du constructeur:

using System;
namespace LineApplication
{
   classe ligne
   {
      double longueur privé; // longueur de la ligne de ligne publique ()
      {
         Console.WriteLine ( "l'objet a été créé");
      }

      setLength public void (double len)
      {
         longueur = len;
      }
      à double getLength publique ()
      {
         longueur de retour;
      }

      static void Main (string [] args)
      {
         ligne de ligne = nouvelle ligne ();    
         // Définit la longueur de la ligne line.setLength (6.0);
         Console.WriteLine ( "La longueur de la ligne: {0}", line.getLength ());
         Console.ReadKey ();
      }
   }
}

Lorsque le code ci-dessus est compilé et exécuté, il produit les résultats suivants:

Crée des objets longueur de ligne: 6

Le constructeur par défaut n'a pas de paramètres.Mais si vous avez besoin d' un constructeur avec un paramètre peut avoir des arguments, ce constructeur est appeléconstructeur paramétré.Cette technique peut vous aider à créer l'objet alors que l'objet d'attribuer des valeurs initiales, voir les exemples suivants:

using System;
namespace LineApplication
{
   classe ligne
   {
      double longueur privé; // longueur de la ligne publique de ligne (double len) // constructeur paramétré {
         Console.WriteLine ( "objet a été créé, longueur = {0}", len);
         longueur = len;
      }

      setLength public void (double len)
      {
         longueur = len;
      }
      à double getLength publique ()
      {
         longueur de retour;
      }

      static void Main (string [] args)
      {
         ligne de ligne = nouvelle ligne (10,0);
         Console.WriteLine ( "La longueur de la ligne: {0}", line.getLength ()); 
         // Définit la longueur de la ligne line.setLength (6.0);
         Console.WriteLine ( "La longueur de la ligne: {0}", line.getLength ()); 
         Console.ReadKey ();
      }
   }
}

Lorsque le code ci-dessus est compilé et exécuté, il produit les résultats suivants:

Objet a été créé, longueur = 10
Longueur de la ligne: 10
Longueur de la ligne: 6

En C # destructor

Classedestructor est une fonction de membre de la classe spéciale, lorsque le type d'objet est hors de portée.

Nom destructor est en face du nom de la classe avec une ondulée (~) comme préfixe, il ne retourne pas de valeur, il ne prend aucun paramètre.

Destructor pour la fin du programme (comme la fermeture des fichiers pour libérer la mémoire, etc.) avant la libération des ressources. Destructeurs ne peuvent pas être héritées ou surchargées.

L'exemple suivant illustre le concept de destructor:

using System;
namespace LineApplication
{
   classe ligne
   {
      longueur double privée; // longueur de la ligne de ligne publique () // constructeur {
         Console.WriteLine ( "l'objet a été créé");
      }
      ~ Ligne () // destructor {
         Console.WriteLine ( "l'objet a été supprimé");
      }

      setLength public void (double len)
      {
         longueur = len;
      }
      à double getLength publique ()
      {
         longueur de retour;
      }

      static void Main (string [] args)
      {
         ligne de ligne = nouvelle ligne ();
         // Définit la longueur de la ligne line.setLength (6.0);
         Console.WriteLine ( "La longueur de la ligne: {0}", line.getLength ());           
      }
   }
}

Lorsque le code ci-dessus est compilé et exécuté, il produit les résultats suivants:

Crée des objets longueur de ligne: 6
Les objets supprimés 

C # static classe membre

Nous pouvons utiliser le membre de classestatique mot - clé est déclarée statique.Lorsque nous déclarons un membre de la classe est statique, ce qui signifie que peu importe comment objet de classe est créé un grand nombre, il n'y a qu'une seule copie des membres statiques.

Une seule instance des membres du mot - cléstatic signifie que classe.Les variables statiques utilisées pour définir des constantes, parce que leur valeur peut être appelée directement, sans la nécessité de créer une instance de la classe de classe pour obtenir. Les variables statiques peuvent être initialisés dans la définition de la fonction de membre externe ou de classe. Vous pouvez également initialiser les variables statiques définies dans la classe.

L'exemple suivant illustre l'utilisation devariables statiques:

using System;
namespace StaticVarApplication
{
    classe StaticVar
    {
       int num statique public;
        count public void ()
        {
            num ++;
        }
        public int getNum ()
        {
            retour num;
        }
    }
    classe StaticTester
    {
        static void Main (string [] args)
        {
            StaticVar s1 = new StaticVar ();
            StaticVar s2 = new StaticVar ();
            s1.count ();
            s1.count ();
            s1.count ();
            s2.count ();
            s2.count ();
            s2.count ();         
            Console.WriteLine ( "variable num s1: {0}", s1.getNum ());
            Console.WriteLine ( "variable num s2: {0}", s2.getNum ());
            Console.ReadKey ();
        }
    }
}

Lorsque le code ci-dessus est compilé et exécuté, il produit les résultats suivants:

s1 variable num: 6
s2 variable num: 6

Vous pouvez également mettre unefonction de membre est déclarée comme statique.Ces fonctions ne peuvent accéder à des variables statiques. Fonction statique avant que l'objet est créé, il existe. L'exemple suivant illustre l'utilisation defonctions statiques:

using System;
namespace StaticVarApplication
{
    classe StaticVar
    {
       int num statique public;
        count public void ()
        {
            num ++;
        }
        int public static getNum ()
        {
            retour num;
        }
    }
    classe StaticTester
    {
        static void Main (string [] args)
        {
            = New StaticVar de StaticVar ();
            s.count ();
            s.count ();
            s.count ();                   
            Console.WriteLine ( "variable num: {0}", StaticVar.getNum ());
            Console.ReadKey ();
        }
    }
}

Lorsque le code ci-dessus est compilé et exécuté, il produit les résultats suivants:

num variable: 3