Latest web development tutorials

Classe C # (Classe)

Quando você define uma classe, você define um modelo para um tipo de dados. Isso realmente não define quaisquer dados, mas define o nome da classe o que significa, isto é, o que constitui uma classe de objeto e executar quais operações no objeto. Objetos são instâncias de classes. Métodos e variáveis ​​que constituem a classe torna-se membros da classe.

definição de classe

A definição da classe é para começar, seguido pelo nome da classe daclasse palavra-chave.Corpo da classe, contido dentro de um par de chaves. O que se segue é a forma geral da definição de classe:

<Especificador de acesso> class_name classe 
{
    // variáveis ​​membros
    <Especificador de acesso> <tipo de dados> variable1;
    <Especificador de acesso> <tipo de dados> variable2;
    ...
    <Especificador de acesso> <tipo de dados> variableN;
    // métodos membros
    <Especificador de acesso> <tipo de retorno> method1 (parameter_list) 
    {
        // Corpo do método 
    }
    <Especificador de acesso> <tipo de retorno> method2 (parameter_list) 
    {
        // Corpo do método 
    }
    ...
    <Especificador de acesso> <tipo de retorno> methodN (parameter_list) 
    {
        // Corpo do método 
    }
}

Por favor, note:

  • Acesso Identificador <especificador de acesso> especifica a classe regra de acesso e seus membros. Se não for especificado, o identificador de acesso padrão. Padrão classe identificador de acesso éinterno, os membros do identificador de acesso padrão é privado.
  • tipo de dados <tipo de dados> especifica o tipo da variável, tipo de retorno <retorno Tipo> especifica o tipo de dados retornados pelo método retorna.
  • Se você quiser acessar um membro da classe, que pretende utilizar operador ponto (.).
  • operador ponto liga o nome do nome e os membros do objeto.

Os exemplos seguintes ilustram os conceitos discutidos até agora:

using System;
namespace BoxApplication
{
    classe Box
    {
       comprimento pública dupla; // comprimento pública amplitude dupla; // largura dupla altura pública; // altura}
    classe Boxtester
    {
        static void Main (string [] args)
        {
            Box Box1 = new Box (); // declara Box1, tipo Box
            Box Box2 = new Box (); // declara Box2, tipo Box
            double volume = 0,0; // // volume de Box1 detalhando Box1.height = 5,0;
            Box1.length = 6,0;
            Box1.breadth = 7,0;

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

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

Quando o código acima é compilado e executado, ele produz os seguintes resultados:

volume de Box1: 210
volume de box2: 1560

funções de membro e pacote

funções de membro de classe é um protótipo definição ou função na definição de classe, assim como qualquer outra variável. Como um membro da classe, ele pode operar em qualquer classe de objeto, todos os membros e pode acessar a classe do objeto.

variáveis ​​de membro são propriedades de objetos (do ponto de vista do design), e eles permanecessem privadas para implementar pacote. Essas variáveis ​​só pode ser usado para acessar as funções de membro públicas.

Vamos usar os conceitos acima para definir e obter o valor de um tipo diferente de membros da classe:

using System;
namespace BoxApplication
{
    classe Box
    {
       comprimento duplo privado; // comprimento amplitude duplo privado; // largura altura dupla privado; // altura SetLength public void (duplo len)
       {
            length = len;
       }

       setBreadth public void (double BRE)
       {
            largura = bre;
       }

       setHeight public void (double hei)
       {
            height = hei;
       }
       pública getVolume double ()
       {
           comprimento de retorno * largura * altura;
       }
    }
    classe Boxtester
    {
        static void Main (string [] args)
        {
            Box Box1 = new Box (); // declara Box1, tipo Box
            Box Box2 = new Box (); // declara Box2, tipo Box
            o dobro do volume; // // Box1 volume de detalhamento Box1.setLength (6,0);
            Box1.setBreadth (7,0);
            Box1.setHeight (5.0);

            // Box2 detalhando Box2.setLength (12,0);
            Box2.setBreadth (13,0);
            Box2.setHeight (10,0);
       
            // Volume de Box1 de volume = Box1.getVolume ();
            Console.WriteLine ( "volume de Box1: {0}", volume);

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

Quando o código acima é compilado e executado, ele produz os seguintes resultados:

volume de Box1: 210
volume de box2: 1560

C # construtores

Construtor da classe é uma função especial membro da classe executada quando criando uma nova classe de objeto.

Nome O nome do construtor da classe exatamente o mesmo, não tem nenhum tipo de retorno.

O exemplo a seguir ilustra o conceito do construtor:

using System;
LineApplication namespace
{
   Linha classe
   {
      comprimento duplo privado; // comprimento da linha pública de linha ()
      {
         Console.WriteLine ( "objeto foi criado");
      }

      SetLength public void (duplo len)
      {
         length = len;
      }
      getLength public double ()
      {
         comprimento retornar;
      }

      static void Main (string [] args)
      {
         linha linha = new Line ();    
         // Definir o line.setLength comprimento da linha (6.0);
         Console.WriteLine ( "O comprimento da linha de: {0}", line.getLength ());
         Console.ReadKey ();
      }
   }
}

Quando o código acima é compilado e executado, ele produz os seguintes resultados:

objetos criados comprimento da linha: 6

O construtor padrão não tem parâmetros.Mas se você precisa de um construtor com um parâmetro pode ter argumentos, esse construtor é chamadoconstrutor parametrizado.Esta técnica pode ajudá-lo a criar o objeto enquanto o objeto para atribuir valores iniciais, consulte os seguintes exemplos específicos:

using System;
LineApplication namespace
{
   Linha classe
   {
      comprimento duplo privado; // comprimento da linha pública de linha (dupla len) // construtor com parâmetros {
         Console.WriteLine ( "objeto foi criado, comprimento = {0}", len);
         length = len;
      }

      SetLength public void (duplo len)
      {
         length = len;
      }
      getLength public double ()
      {
         comprimento retornar;
      }

      static void Main (string [] args)
      {
         linha linha = new Line (10,0);
         Console.WriteLine ( "O comprimento da linha de: {0}", line.getLength ()); 
         // Definir o line.setLength comprimento da linha (6.0);
         Console.WriteLine ( "O comprimento da linha de: {0}", line.getLength ()); 
         Console.ReadKey ();
      }
   }
}

Quando o código acima é compilado e executado, ele produz os seguintes resultados:

Objeto foi criado, comprimento = 10
comprimento da linha: 10
comprimento da linha: 6

Em C # destructor

Classedestructor é uma função membro de classe especial, quando o tipo de objeto está fora do intervalo.

Nome destructor está na frente do nome da classe com um ondulado (~) como um prefixo, ele não retorna um valor, que leva sem parâmetros.

Destruidor para o fim do programa (como o fechamento de arquivos para liberar memória, etc.) antes da liberação dos recursos. Destruidores não podem ser herdadas ou sobrecarregados.

O exemplo a seguir ilustra o conceito do processo de destruição:

using System;
LineApplication namespace
{
   Linha classe
   {
      comprimento duplo privado; // comprimento da linha pública de linha () // constructor {
         Console.WriteLine ( "objeto foi criado");
      }
      ~ Line () // destructor {
         Console.WriteLine ( "objeto foi excluído");
      }

      SetLength public void (duplo len)
      {
         length = len;
      }
      getLength public double ()
      {
         comprimento retornar;
      }

      static void Main (string [] args)
      {
         linha linha = new Line ();
         // Definir o line.setLength comprimento da linha (6.0);
         Console.WriteLine ( "O comprimento da linha de: {0}", line.getLength ());           
      }
   }
}

Quando o código acima é compilado e executado, ele produz os seguintes resultados:

objetos criados comprimento da linha: 6
objetos excluídos 

C # classe membro estática

Podemos usar a palavra-chave membro da classeestática é declarada como estática.Quando declaramos um membro da classe é estática, o que significa que não importa quantas objeto de classe é criado, há apenas uma cópia dos membros estáticos.

Apenas uma instância dos membros da palavra-chaveestática significa que a classe.Variáveis ​​estáticas usadas para definir constantes, porque o seu valor pode ser chamado diretamente, sem a necessidade de criar uma instância da classe classe de obter. Variáveis ​​estáticas podem ser inicializados na definição da função de membro externo ou classe. Você também pode inicializar variáveis ​​estáticas definidas dentro da classe.

O exemplo seguinte demonstra a utilização demedidas estáticas:

using System;
StaticVarApplication namespace
{
    classe StaticVar
    {
       int num public static;
        contagem public void ()
        {
            Num ++;
        }
        getNum int público ()
        {
            retornar 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 ( "variável num S1: {0}", s1.getNum ());
            Console.WriteLine ( "variável num s2: {0}", s2.getNum ());
            Console.ReadKey ();
        }
    }
}

Quando o código acima é compilado e executado, ele produz os seguintes resultados:

s1 variável num: 6
s2 num variável: 6

Você também pode colocar umafunção de membro édeclarada comoestática.Tais funções só pode acessar variáveis ​​estáticas. função estática antes que o objeto é criado, ele existe. O exemplo seguinte demonstra a utilização defunções estáticas:

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

Quando o código acima é compilado e executado, ele produz os seguintes resultados:

Num variável: 3