Latest web development tutorials

C # clase (clase)

Cuando se define una clase, se define un modelo para un tipo de datos. En realidad, esto no define ningún dato, pero define el nombre de la clase lo que significa, es decir, lo que constituye una clase de objeto y realizar operaciones lo que en el objeto. Los objetos son instancias de clases. Métodos y variables que constituyen la clase se convierte en miembros de la clase.

definición de clase

La definición de la clase es para comenzar, seguido por el nombre de la clase de laclase de palabras clave.Cuerpo de la clase, contenido dentro de un par de llaves. La siguiente es la forma general de la definición de clase:

<Especificador de acceso> class_name clase 
{
    // variables de miembro
    <Especificador de acceso> <tipo de datos> variable1;
    <Especificador de acceso> <tipo de datos> variable2;
    ...
    <Especificador de acceso> <tipo de datos> variableN;
    // métodos miembros
    <Especificador de acceso> <tipo de retorno> metodo1 (parameter_list) 
    {
        // Cuerpo del método 
    }
    <Especificador de acceso> <tipo de retorno> metodo2 (parameter_list) 
    {
        // Cuerpo del método 
    }
    ...
    <Especificador de acceso> <tipo de retorno> methodN (parameter_list) 
    {
        // Cuerpo del método 
    }
}

Tenga en cuenta:

  • Identificador de Acceso <especificador de acceso> especifica la clase de regla de acceso y sus miembros. Si no se especifica, el identificador de acceso predeterminado. Por defecto la clase identificador de acceso esinterno, los miembros de identificador de acceso por omisión es privado.
  • tipo de datos <tipo de datos> especifica el tipo de variable, tipo de retorno <tipo de retorno> especifica el tipo de datos devueltos por el método retorna.
  • Si desea acceder a un miembro de la clase, que desea usar punto (.) Del operador.
  • operador punto vincula el nombre del nombre y los miembros del objeto.

Los siguientes ejemplos ilustran los conceptos discutidos hasta ahora:

using System;
espacio de nombres BoxApplication
{
    clase Box
    {
       longitud doble pública; // longitud doble anchura pública; // ancho de doble altura pública; // altura}
    clase Boxtester
    {
        static void main (String [] args)
        {
            Recuadro 1 = cuadro nuevo cuadro (); // Declarar Recuadro 1, tipo caja
            Caja Box2 = new Box (); // Declarar Box2, tipo caja
            volumen doble = 0,0; // // volumen Recuadro 1 detalla Box1.height = 5,0;
            Box1.length = 6,0;
            Box1.breadth = 7,0;

            // Box2 detallando Box2.height = 10,0;
            Box2.length = 12,0;
            Box2.breadth = 13,0;
           
            // Volumen volumen Recuadro 1 = Box1.height * * Box1.length Box1.breadth;
            Console.WriteLine ( "volumen Recuadro 1: {0}", volumen);

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

Cuando el código se compila y ejecuta, produce los siguientes resultados:

box1 volumen: 210
volumen caja2: 1560

Las funciones miembro y el paquete

funciones miembro de la clase que es un prototipo definición o función en la definición de clase, al igual que cualquier otra variable. Como miembro de la clase, que puede funcionar en cualquier clase de objeto, todos los miembros y se puede acceder a la clase del objeto.

variables miembro son propiedades de los objetos (desde el punto de vista del diseño), y que se mantengan privadas para implementar el paquete. Estas variables sólo pueden utilizarse para acceder a las funciones miembro públicas.

Vamos a utilizar los conceptos anteriores para establecer y obtener el valor de un tipo diferente de miembros de la clase:

using System;
espacio de nombres BoxApplication
{
    clase Box
    {
       longitud doble privada; // longitud doble anchura privada; // ancho de doble altura privada; // altura setLength public void (doble len)
       {
            = longitud len;
       }

       setBreadth public void (doble BRE)
       {
            anchura = bre;
       }

       setHeight public void (doble hei)
       {
            height = hei;
       }
       doble getVolume pública ()
       {
           longitud de retorno * ancho * altura;
       }
    }
    clase Boxtester
    {
        static void main (String [] args)
        {
            Recuadro 1 = cuadro nuevo cuadro (); // Declarar Recuadro 1, tipo caja
            Caja Box2 = new Box (); // Declarar Box2, tipo caja
            volumen doble; // // Recuadro 1 volumen detalla Box1.setLength (6.0);
            Box1.setBreadth (7,0);
            Box1.setHeight (5,0);

            // Box2 detallando Box2.setLength (12,0);
            Box2.setBreadth (13,0);
            Box2.setHeight (10,0);
       
            // Volumen del volumen Recuadro 1 = Box1.getVolume ();
            Console.WriteLine ( "volumen Recuadro 1: {0}", volumen);

            // Volumen Box2 de volumen = Box2.getVolume ();
            Console.WriteLine ( "volumen Box2: {0}", volumen);
           
            Console.ReadKey ();
        }
    }
}

Cuando el código se compila y ejecuta, produce los siguientes resultados:

box1 volumen: 210
volumen caja2: 1560

C # constructores

Constructor de la clase es una función miembro de la clase especial ejecutada al crear una nueva clase de objeto.

Nombre El nombre del constructor de la clase exactamente lo mismo, no tiene ningún tipo de retorno.

El siguiente ejemplo ilustra el concepto de constructor:

using System;
LineApplication espacio de nombres
{
   Línea de clases
   {
      longitud doble privada; // longitud de la línea pública de línea ()
      {
         Console.WriteLine ( "El objeto ha sido creado");
      }

      setLength public void (doble len)
      {
         = longitud len;
      }
      getLength doble pública ()
      {
         longitud de retorno;
      }

      static void main (String [] args)
      {
         line = nueva línea ();    
         // Establecer la longitud de la línea line.setLength (6.0);
         Console.WriteLine ( "La longitud de la línea: {0}", line.getLength ());
         Console.ReadKey ();
      }
   }
}

Cuando el código se compila y ejecuta, produce los siguientes resultados:

Los objetos creados longitud de la línea: 6

El constructor por defecto no tiene parámetros.Pero si necesita un constructor con un parámetro puede tener argumentos, este constructor se llamaconstructor parametrizado.Esta técnica puede ayudar a crear el objeto mientras que el objeto de asignar valores iniciales, ver los siguientes ejemplos específicos:

using System;
LineApplication espacio de nombres
{
   Línea de clases
   {
      longitud doble privada; // longitud de la línea pública de línea (doble len) // constructor con parámetros {
         Console.WriteLine ( "objeto ha sido creado, longitud = {0}", len);
         = longitud len;
      }

      setLength public void (doble len)
      {
         = longitud len;
      }
      getLength doble pública ()
      {
         longitud de retorno;
      }

      static void main (String [] args)
      {
         line = nueva línea (10.0);
         Console.WriteLine ( "La longitud de la línea: {0}", line.getLength ()); 
         // Establecer la longitud de la línea line.setLength (6.0);
         Console.WriteLine ( "La longitud de la línea: {0}", line.getLength ()); 
         Console.ReadKey ();
      }
   }
}

Cuando el código se compila y ejecuta, produce los siguientes resultados:

se ha creado el objeto, longitud = 10
Longitud de la línea: 10
Longitud de la línea: 6

En C # destructor

destructor de clase es una función especial miembro de la clase, cuando el tipo de objeto está fuera de rango.

El nombre del destructor está delante del nombre de la clase con un símbolo (~) como prefijo, no devuelve un valor, que no toma parámetros.

Destructor para el final del programa (como el cierre de los archivos de la memoria libre, etc.) antes de la liberación de los recursos. Los destructores no pueden ser heredados o sobrecargados.

El siguiente ejemplo ilustra el concepto de destructor:

using System;
LineApplication espacio de nombres
{
   Línea de clases
   {
      longitud doble privada; // longitud de la línea pública de línea () // constructor {
         Console.WriteLine ( "El objeto ha sido creado");
      }
      ~ Línea () // {destructor
         Console.WriteLine ( "Se ha eliminado objeto");
      }

      setLength public void (doble len)
      {
         = longitud len;
      }
      getLength doble pública ()
      {
         longitud de retorno;
      }

      static void main (String [] args)
      {
         line = nueva línea ();
         // Establecer la longitud de la línea line.setLength (6.0);
         Console.WriteLine ( "La longitud de la línea: {0}", line.getLength ());           
      }
   }
}

Cuando el código se compila y ejecuta, produce los siguientes resultados:

Los objetos creados longitud de la línea: 6
Los objetos eliminados 

C # clase miembro estático

Podemos utilizar el miembro de la claseestática de palabras clave se declara estático.Cuando declaramos un miembro de la clase es estática, lo que significa que no importa cómo se crea muchos objeto de clase, sólo hay una copia de los miembros estáticos.

Sólo una instancia de los miembros de la palabra claveestática significa que la clase.Las variables estáticas utilizadas para definir constantes, debido a que su valor se puede llamar directamente sin la necesidad de crear una instancia de la clase clase de obtener. Las variables estáticas se pueden inicializar en la definición de la función miembro o clase externa. También puede inicializar variables estáticas definidas dentro de la clase.

El siguiente ejemplo demuestra el uso devariables estáticas:

using System;
StaticVarApplication espacio de nombres
{
    clase StaticVar
    {
       pública num int estática;
        recuento public void ()
        {
            num ++;
        }
        public int getNum ()
        {
            num regresar;
        }
    }
    clase 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 ();
        }
    }
}

Cuando el código se compila y ejecuta, produce los siguientes resultados:

s1 variable num: 6
s2 variable num: 6

También se puede poner unafunción miembro se declara como estática.Tales funciones sólo puede acceder a las variables estáticas. función estática antes de crear el objeto, existe. El siguiente ejemplo demuestra el uso defunciones estáticas:

using System;
StaticVarApplication espacio de nombres
{
    clase StaticVar
    {
       pública num int estática;
        recuento public void ()
        {
            num ++;
        }
        int public static getNum ()
        {
            num regresar;
        }
    }
    clase StaticTester
    {
        static void main (String [] args)
        {
            StaticVar s = new StaticVar ();
            s.count ();
            s.count ();
            s.count ();                   
            Console.WriteLine ( "variable num: {0}", StaticVar.getNum ());
            Console.ReadKey ();
        }
    }
}

Cuando el código se compila y ejecuta, produce los siguientes resultados:

variable num: 3