Latest web development tutorials

Classe C # (Class)

Quando si definisce una classe, si definisce un progetto per un tipo di dati. Questo in realtà non definisce alcun dato, ma definisce il nome della classe che cosa significa, cioè, ciò che costituisce una classe di oggetti e di eseguire operazioni quali sull'oggetto. Gli oggetti sono istanze di classi. I metodi e le variabili che costituiscono la classe diventa membri della classe.

definizione di classe

La definizione della classe è quello di iniziare, seguita dal nome della classe dellaclasse parola chiave.Corpo della classe, contenuto all'interno di un paio di parentesi graffe. Quanto segue è la forma generale della definizione di classe:

<Specificatore di accesso> class_name classe 
{
    // Le variabili membro
    <Specificatore di accesso> <tipo di dati> variabile1;
    <Specificatore di accesso> <tipo di dati> variabile2;
    ...
    <Specificatore di accesso> <tipo di dati> Variablen;
    // metodi Stati
    <Specificatore di accesso> <tipo di ritorno> method1 (parameter_list) 
    {
        // Corpo Metodo 
    }
    <Specificatore di accesso> <tipo di ritorno> method2 (parameter_list) 
    {
        // Corpo Metodo 
    }
    ...
    <Specificatore di accesso> <tipo di ritorno> methodN (parameter_list) 
    {
        // Corpo Metodo 
    }
}

Si prega di notare:

  • Access Identifier <specificatore di accesso> specifica la classe regola di accesso e dei suoi membri. Se non specificato, l'identificatore di accesso predefinito. Predefinito classe Access Identifier èinterno, i membri accesso identificatore predefinito è privato.
  • Tipo di dati <tipo di dati> specifica il tipo di variabile, tipo di ritorno <tipo di ritorno> specifica il tipo di dati restituiti dal metodo restituisce.
  • Se si vuole accedere a un membro della classe, che si desidera utilizzare punto (.) Operatore.
  • operatore punto collega il nome del nome e dei membri dell'oggetto.

I seguenti esempi illustrano i concetti discussi finora:

using System;
namespace BoxApplication
{
    classe Box
    {
       lunghezza doppia pubblico; // lunghezza public double in largo; // larghezza doppia altezza pubblico; // altezza}
    classe Boxtester
    {
        static void Main (string [] args)
        {
            Box Box1 = new Box (); // dichiarare Box1, tipo Box
            Box Box2 = new Box (); // dichiarare Box2, tipo Box
            doppio volume = 0.0; // // volume di Box1 dettagli Box1.height = 5.0;
            Box1.length = 6.0;
            Box1.breadth = 7,0;

            // Box2 dettagli 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 ();
        }
    }
}

Quando il codice di cui sopra è compilato ed eseguito, produce i seguenti risultati:

Volume Box1: 210
Volume Box2: 1560

funzioni membro ed il pacchetto

le funzioni di membro di classe è una definizione o una funzione prototipo nella definizione della classe, come qualsiasi altra variabile. In qualità di membro della classe, può operare su qualsiasi classe di oggetti, tutti i membri e può accedere classe dell'oggetto.

Le variabili membro sono proprietà degli oggetti (da un punto di vista del design), e rimangono privati ​​per implementare il pacchetto. Queste variabili possono essere utilizzate solo per accedere alle funzioni membro pubbliche.

Usiamo i concetti di cui sopra per impostare e ottenere il valore di un diverso tipo di membri della classe:

using System;
namespace BoxApplication
{
    classe Box
    {
       lunghezza doppia privato; // lunghezza doppia largo privato; // larghezza doppia altezza privato; // altezza SetLength public void (doppia len)
       {
            lunghezza = len;
       }

       setBreadth public void (doppia BRE)
       {
            ampiezza = bre;
       }

       setHeight public void (doppia hei)
       {
            height = hei;
       }
       public double getVolume ()
       {
           lunghezza ritorno * la larghezza * altezza;
       }
    }
    classe Boxtester
    {
        static void Main (string [] args)
        {
            Box Box1 = new Box (); // dichiarare Box1, tipo Box
            Box Box2 = new Box (); // dichiarare Box2, tipo Box
            doppio volume; // // Box1 volume che descrive Box1.setLength (6.0);
            Box1.setBreadth (7.0);
            Box1.setHeight (5.0);

            // Box2 dettagli Box2.setLength (12.0);
            Box2.setBreadth (13,0);
            Box2.setHeight (10.0);
       
            // Volume di Box1 di volume = Box1.getVolume ();
            Console.WriteLine ( "Volume Box1: {0}", volume);

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

Quando il codice di cui sopra è compilato ed eseguito, produce i seguenti risultati:

Volume Box1: 210
Volume Box2: 1560

C # costruttori

Costruttore della classe è una speciale funzione di membro della classe eseguita durante la creazione di una nuova classe di oggetti.

Nome Il nome del costruttore della classe esattamente lo stesso, non ha nessun tipo di ritorno.

L'esempio seguente illustra il concetto del costruttore:

using System;
namespace LineApplication
{
   classe linea
   {
      lunghezza doppia privato; // lunghezza della linea linea pubblica ()
      {
         Console.WriteLine ( "L'oggetto è stato creato");
      }

      SetLength public void (doppia len)
      {
         lunghezza = len;
      }
      doppia getLength pubblico ()
      {
         tornare lunghezza;
      }

      static void Main (string [] args)
      {
         Linea = nuova linea ();    
         // Imposta il line.setLength lunghezza della linea (6.0);
         Console.WriteLine ( "La lunghezza della linea: {0}", line.getLength ());
         Console.ReadKey ();
      }
   }
}

Quando il codice di cui sopra è compilato ed eseguito, produce i seguenti risultati:

Gli oggetti creati lunghezza della linea: 6

Il costruttore di default non ha parametri.Ma se avete bisogno di un costruttore con un parametro può avere argomenti, questo costruttore si chiamacostruttore con parametri.Questa tecnica può aiutare a creare l'oggetto mentre l'oggetto per assegnare valori iniziali, vedere i seguenti esempi specifici:

using System;
namespace LineApplication
{
   classe linea
   {
      lunghezza doppia privato; // lunghezza della linea linea pubblica (doppia len) // costruttore con parametri {
         Console.WriteLine ( "oggetto è stato creato, lunghezza = {0}", len);
         lunghezza = len;
      }

      SetLength public void (doppia len)
      {
         lunghezza = len;
      }
      doppia getLength pubblico ()
      {
         tornare lunghezza;
      }

      static void Main (string [] args)
      {
         Linea = nuova linea (10.0);
         Console.WriteLine ( "La lunghezza della linea: {0}", line.getLength ()); 
         // Imposta il line.setLength lunghezza della linea (6.0);
         Console.WriteLine ( "La lunghezza della linea: {0}", line.getLength ()); 
         Console.ReadKey ();
      }
   }
}

Quando il codice di cui sopra è compilato ed eseguito, produce i seguenti risultati:

Oggetto è stato creato, lunghezza = 10
Lunghezza della linea: 10
Linea lunghezza: 6

In C # distruttore

Classedistruttore è una funzione speciale di membro di classe, quando il tipo di oggetto è fuori portata.

Nome destructor è davanti al nome della classe con ondulata (~) come prefisso, non restituisce un valore, non accetta parametri.

Distruttore per la fine del programma (ad esempio chiusura di file per liberare memoria, ecc) prima del rilascio di risorse. Distruttori non possono essere ereditate o sovraccaricati.

L'esempio seguente illustra il concetto del distruttore:

using System;
namespace LineApplication
{
   classe linea
   {
      lunghezza doppia privato; // lunghezza della linea linea pubblica () {// costruttore
         Console.WriteLine ( "L'oggetto è stato creato");
      }
      ~ Linea () // distruttore {
         Console.WriteLine ( "L'oggetto è stato eliminato");
      }

      SetLength public void (doppia len)
      {
         lunghezza = len;
      }
      doppia getLength pubblico ()
      {
         tornare lunghezza;
      }

      static void Main (string [] args)
      {
         Linea = nuova linea ();
         // Imposta il line.setLength lunghezza della linea (6.0);
         Console.WriteLine ( "La lunghezza della linea: {0}", line.getLength ());           
      }
   }
}

Quando il codice di cui sopra è compilato ed eseguito, produce i seguenti risultati:

Gli oggetti creati lunghezza della linea: 6
Gli oggetti eliminati 

C # classe membro statico

Possiamo usare la parola membro della classestatica viene dichiarata statica.Quando si dichiara un membro della classe è statica, il che significa che non importa come si crea molti oggetto di classe, c'è solo una copia dei membri statici.

Solo un esempio dei membri della parola chiavestatic significa che di classe.Le variabili statiche utilizzate per definire costanti, perché il loro valore può essere richiamato direttamente senza la necessità di creare un'istanza della classe di classe da ottenere. Le variabili statiche possono essere inizializzate nella definizione della funzione membro esterno o una classe. È anche possibile inizializzare le variabili statiche definite all'interno della classe.

L'esempio seguente dimostra l'uso dellevariabili statiche:

using System;
namespace StaticVarApplication
{
    classe StaticVar
    {
       int num public static;
        count public void ()
        {
            num ++;
        }
        public int getNum ()
        {
            tornare 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 ( "variabile num S1: {0}", s1.getNum ());
            Console.WriteLine ( "variabile num s2: {0}", s2.getNum ());
            Console.ReadKey ();
        }
    }
}

Quando il codice di cui sopra è compilato ed eseguito, produce i seguenti risultati:

S1 variabile num: 6
s2 variabile num: 6

Si può anche mettere unafunzione membro viene dichiarato come statico.Tali funzioni possono accedere solo le variabili statiche. funzione statica prima che venga creato l'oggetto, esso esiste. L'esempio seguente dimostra l'uso difunzioni statiche:

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

Quando il codice di cui sopra è compilato ed eseguito, produce i seguenti risultati:

num variabile: 3