Curso de C#: Lição 7: Introdução a Classes

Esta lição lhe apresenta para classes C #. Nossos objetivos são os seguintes: Implementar Constructors. Conhecer a diferença entre instância e membros estáticos. Entenda Destructors. Familiarização com as Partes Interessadas.

Por | @oficinadanet Programação
Esta lição lhe apresenta para classes C #. Nossos objetivos são os seguintes:

* Implementar Constructors.
* Conhecer a diferença entre instância e membros estáticos.
* Entenda Destructors.
* Familiarização com as Partes Interessadas.


Desde o início deste tutorial, que têm sido usados classes. Até agora, você deve ter um sentimento de que é de uma classe e como especificar uma. Esta lição irá construir sobre o que você já conhece e introduzir as diversas classes membros.

As aulas são declaradas usando a palavra-chave classe seguido pelo nome da classe e um conjunto de classes membros rodeado por curly correias. Cada classe tem um construtor, que é chamado automaticamente qualquer momento uma instância de uma classe é criada. O objectivo é a iniciação dos construtores classe membros quando uma instância da classe é criada. Construtores não têm retorno valores e sempre têm o mesmo nome que a classe. Listagem 7-1 é um exemplo de uma classe.

Listagem 7-1. Exemplo de C# Classes: Classes.cs
// Namespace Declaration
using System;

// helper class
class OutputClass
{
    string myString;

    // Constructor
    public OutputClass(string inputString)
    {
        myString = inputString;
    }

    // Instance Method
    public void printString()
    {
        Console.WriteLine("{0}", myString);
    }

    // Destructor
    ~OutputClass()
    {
        // Some resource cleanup routines
    }
}

// Program start class
class ExampleClass
{
    // Main begins program execution.
    public static void Main()
    {
        // Instance of OutputClass
        OutputClass outCl = new OutputClass("This is printed by the output class.");

        // Call Output class' method
        outCl.printString();
    }
}


Listagem 7-1 mostra duas classes. A top class, OutputClass, possui um construtor, método exemplo, e um destructor. Ele também tinha um campo chamado myString. Observe como o OutputClass construtor é usado para inicializar dados membros da turma. Neste caso, o construtor OutputClass aceita um argumento string, inputString. Esta string é copiado para o campo classe myString.

Construtores não são obrigatórios, como indicado pela aplicação de ExampleClass. Neste caso, um construtor padrão é fornecido. Um construtor padrão é simplesmente um construtor sem argumentos. No entanto, um construtor sem argumentos nem sempre é útil. Para tornar padrão construtores mais útil, você pode implementá-las com initializers. Aqui está um exemplo:
public OutputClass() : this("Default Constructor String") { }


Imagine este construtor foi incluída na classe de OutputClass Listing 7-1. Os dois pontos, ":", assinala o início da initializer, seguido pelo esta palavra-chave. A esta palavra-chave se refere a este particular objeto. Ele efetivamente faz uma chamada para o construtor do mesmo objeto é definido pol Após a esta palavra-chave é um parâmetro lista com uma corda. As medidas tomadas pelo initializer acima é para invocar o construtor OutputClass que leva uma string tipo como um argumento. O initializer ajuda você a garantir a sua classe campos são inicializadas quando uma classe é instanciado.

O exemplo acima ilustra como uma classe pode ter vários construtores. O construtor específico chamado depende do número de parâmetros eo tipo de cada parâmetro.

Em C #, existem dois tipos de classe membros, instância e estáticas. Instância classe membros pertencem a uma determinada ocorrência de uma classe. Cada vez que você declarar um objeto de uma certa classe, você cria uma nova instância da mesma classe. O ExampleClass Main () método cria uma instância da OutputClass chamado outCl.Você pode criar várias instâncias de OutputClass com nomes diferentes. Cada um desses casos são distintos e autônoma. Por exemplo, se você criar duas instâncias OutputClass como segue:
OutputClass oc1 = new OutputClass("OutputClass1");
OutputClass oc2 = new OutputClass("OutputClass2");


Você cria duas instâncias de OutputClass com myString campos separados e distintos métodos printString (). Por outro lado, se um membro classe é estática, você pode acessá-lo simplesmente usando a sintaxe . . O exemplo nomes são oc1 e oc2.

Suponha OutputClass tinha o seguinte método estático:

public  static void staticPrinter()
{
     Console.WriteLine("There is only one of me.");
}


Então você pode chamar essa função de principal () como este:

 OutputClass.staticPrinter(); OutputClass.staticPrinter (); 


Você deve ligar estático classe através dos seus membros e não a sua classe nome instância nome. Isto significa que você não precisa instanciar uma classe para seu uso estático membros.Só existe sempre uma cópia de uma classe estática membro. Uma boa utilização dos membros é estático quando existe uma função a ser realizada e nenhum estado intermediário é exigido, como matemática cálculos. Matéria de facto, o. NET Quadros Base Class Library Math inclui uma classe que faz o uso extensivo de membros estáticos.

Outro tipo de construtor é o construtor estático. Use static construtor para inicializar estáticos campos em uma classe.Você declarar um construtor estático, utilizando a palavra-chave static apenas na frente do nome do construtor. Um construtor estático é chamado antes uma instância de uma classe é criada, antes de um membro estático é chamado, e antes da estática construtor de um derivado classe (cobertas num capítulo posterior). Eles são chamados apenas uma vez.

OutputClass também tem um destructor. Destructors olhar apenas como construtores, com excepção têm um tilde, "~", na frente delas. Eles não tomar quaisquer parâmetros e não retornam um valor. Destructors são lugares onde você pode colocar qualquer código para liberar recursos sua turma foi exploração durante a sua vida útil. Eles são normalmente chamados quando o C # lixo colecionador decide a limpar o objeto da memória.

Nota: Você provavelmente notado o uso do público modificador (um acesso modificador), o que significa que uma classe membro pode ser acessado a partir de outras classes.Quando usado em uma classe, o que significa que a classe possa ser acessado por DLLs fora da Assembleia (que é comumente uma *. exe ou *. dll). Lesson 19: Encapsulation discute acesso modificadores de forma mais aprofundada.

Até ao momento, a única classe membros que você vê são campos, Métodos, Constructors, e Destructors. Aqui está uma lista completa dos tipos de membros que você pode ter em suas classes:
# Construtores
# Destructores
# Domínios
# Métodos
# Propriedades
# Indexadores
# Delegates
# Eventos
# Nested Classes

Esses itens não abrangidos nesta lição serão mais tarde cobertos de aulas.

Resumo


Em síntese, pode declarar exemplo estático e construtoras. Você sabe como inicializar classe campos. Quando não há necessidade de instanciar um objeto, você pode criar estática classe membros. Você pode também declarar destructors para limpeza de recursos.

Matéria automaticamente traduzida de: http://www.csharp-station.com/Tutorials/Lesson05.aspx

Mais sobre: curso_c_sharp c# c sharp
Share Tweet
Recomendado
Comentários
Carregar comentários
Destaquesver tudo