Construtor de classe C#

Construtor de classe C#

Enquanto trabalhamos em qualquer linguagem de programação, criamos muitas variáveis ​​e funções no código. Essas funções e variáveis ​​podem ser do tipo definido pelo usuário, e algumas delas são consideradas embutidas. Uma função interna que você já deve ter ouvido sobre a função do construtor. A função construtora é a mesma função de título que o título da classe invocado pelo objeto de classe automaticamente quando o objeto foi criado. Geralmente é usado no código para inicializar alguns valores variáveis ​​diretamente. O construtor pode ser de categoria padrão sem parâmetros e pode ser de categoria parametrizada. Dentro deste guia hoje, discutiremos o uso de ambos os tipos de construtores em nossos exemplos de código C# implementados no Ubuntu 20.04. Vamos começar com o lançamento do terminal e atualizar seu sistema antes de executar qualquer coisa no shell através do pacote "apt".

Exemplo # 01: construtor padrão

Vamos começar com a apresentação de usar o construtor padrão dentro do novo arquivo no Ubuntu 20.04. Para isso, tente utilizar a instrução eterna do Ubuntu para gerar um arquivo que deve conter o “.Extensão CS ”no final da programação C#. O arquivo foi gerado com sucesso em nosso diretório de trabalho atual, de acordo com o comando "LS".

Abra seu arquivo no diretório doméstico usando o editor de texto para uma exibição de código mais atraente e colorida como abaixo. Temos que iniciar este código com a utilização do espaço para nome do sistema, que é uma obrigação em quase todos os códigos C# para funções de uso geral. Em seguida, iniciamos um nome de classe "Teste" e inicializamos um construtor público "test ()" nele para exibir algumas mensagens de texto na tela usando a função writeLine () da classe de console do espaço de nome "System". Este construtor é o padrão, portanto não contém parâmetros. Estamos usando a função de driver principal () aqui, que é uma obrigação em todos os programas. Ele usa o mesmo método WriteLine () para exibir uma mensagem de exibição diferente na tela do shell. Agora, você precisa entender que, sem criar um objeto de "teste" de classe, não poderemos executar o construtor. Então, estamos usando o nome da classe para criar o objeto "OBJ", seguido pelo “novo” inicializador para objetos. Quando executamos este programa, o console.A declaração de função writeLine () será executada primeiro. Então, a criação desse objeto chamará a função do construtor de "teste" para executar o console.Declaração WriteLine ().

Voltando ao terminal, compilamos nosso programa C# com o compilador C# "MCS" no Ubuntu 20.04. O arquivo "exe" para este arquivo C# foi gerado na compilação de acordo com a instrução "LS". Usamos esse arquivo "exe" para executar o código compilado C# com o MCS-Runtime. A mensagem principal da string de função () foi exibida e, em seguida, a mensagem da string do construtor.

Exemplo # 02: Construtor em outra classe

Demonstramos a implementação de um construtor na mesma classe em que o objeto de sua classe foi criado. Agora, estaremos olhando para o construtor com o objeto de sua classe em outra classe. Você precisa abrir o mesmo arquivo C# para atualizar o código. Aqui, usamos duas classes, "teste" e "novo".

A classe de teste contém o "teste" do construtor padrão, enquanto a nova classe contém uma função de driver principal () para este programa. Usamos a função WriteLine () do console de classe para o espaço para nome "sistema" exibir algumas mensagens de texto no shell na execução de main () e na função "teste" do construtor. Criamos um objeto de classe "teste" na função principal () da classe "novo".

Em seguida, salvamos este código e o compilamos. Depois, executamos seu arquivo "exe" no shell com a "Mono-Runtime". A função principal () foi executada e exibida sua respectiva mensagem. Depois disso, o construtor da classe de teste foi chamado usando o objeto e exibiu sua mensagem de string.

Exemplo # 03: padrão vs. Construtor parametrizado

O construtor parametrizado pode ser usado para inicializar variáveis ​​com os valores passados ​​pela função principal () ou pelo usuário em tempo de execução. Dentro deste código do programa, criamos uma única classe "Teste" e declaramos duas variáveis, eu.e., variável inteira "idade" e variável de string "nome". Depois disso, implementamos o "teste" do construtor padrão desta classe sem valores paramétricos. Ele é usado apenas para exibir algumas mensagens no shell usando a função WriteLine (). Depois disso, definimos um "teste" de construtor parametriz. Antes disso, ele também exibia a mensagem simples de que a “definição de valores via construtor” usando o método WriteLine (). A função "show ()" definida pelo usuário está simplesmente utilizando as variáveis ​​"Age" e "Name" em sua instrução writeLine () para exibir seus valores no shell. Dentro do método Main (), exibimos algumas mensagens de texto e criamos o objeto de classe. Usamos este objeto "Obj" para chamar a função "show" para exibir a mensagem. Este programa poderá executar o construtor parametrizado? Vamos para a parte de execução para ver o que acontece.

Depois de compilar o arquivo de código com MCS e executar o arquivo exe com mono-redução, temos a seguinte saída. A mensagem principal da string de função foi exibida e o construtor padrão foi executado de acordo com a criação de objetos. A função show () foi executada e exibida valores nulos em troca. Isso ocorre porque não passamos nenhum valores para o construtor parametrizado no momento da criação de objetos na função principal ().

Vamos corrigir esse problema atualizando nosso código novamente. Atribuímos diretamente um valor inteiro e string aos parâmetros do construtor de "teste" da classe enquanto criava um objeto "Obj". Depois disso, o mesmo objeto foi utilizado para chamar a função show () para exibir os valores.

Desta vez, a função principal () pulou a execução do construtor padrão e executou o construtor parametrizado, pois os valores foram passados ​​para o construtor no momento da criação de objetos. É por isso que os valores de “idade” e “nomes” variáveis ​​também foram exibidos pelo método show () usando o mesmo objeto “obj” da classe “teste”.

Se você deseja executar os dois construtores um após o outro, precisa criar objetos diferentes. Então, criamos um objeto "Obj1" para a chamada de construtor padrão e o objeto "obj2" para chamada de construtor parametrizada e seu valor atribuído. Como atribuímos o valor ao construtor parametrizado usando o objeto "Obj2", temos que usar o mesmo objeto "obj2" para chamar a função show () para exibir os valores. Caso contrário, não funcionará.

Na compilação e execução do código, a mensagem principal da função, as duas mensagens do construtor e a função show () foram executadas, como mostrado abaixo:

Conclusão

Dentro do parágrafo introdutório do artigo, discutimos o uso de construtores na programação junto com seus tipos. Também discutimos como uma função construtora é diferente das funções normais definidas pelo usuário ou embutidas como o método principal (). Elaboramos o uso dos construtores padrão e parametrizados por meio de nossos exemplos e explicamos claramente sua comparação. Além disso, discutimos as maneiras simples e diferentes de chamar os dois tipos de construtores usando os objetos da classe.