Conceitos básicos para aplicar a linguagem C# avançado

 

Neste módulo, você estudará sobre os conceitos fundamentais para que tenha capacidade de utilizar a linguagem C# de modo avançado. Tais conceitos são: classes, métodos, construtores, parâmetros variáveis, enumerações, parâmetros por referência e parâmetro padrão.

Está pronto? Então vamos lá!

CLASSES

O primeiro conceito que você verá é a classe, o qual é um bloco de construção básico na linguagem C#.

Ao criar uma classe, estabelecemos um “tipo”. A partir dessa etapa, criamos uma variável.

Para que você veja na prática, utilizamos no código abaixo, o exemplo da criação de uma classe com nome “Carro” e, posteriormente, um novo objeto “C1” para essa classe.

 

Acompanhe o passo a passo na sequência, para entender o que foi realizado:

Após criar a classe, inserimos dentro dela seus atributos, ou seja, de forma mais direta, os dados como: cor, marca, nome, potência etc. Temos, também, os comportamentos, os quais receberão os dados e farão as funções desejadas.

A partir do comando new, é elaborado um novo objeto que utilizará a classe em questão, como modelo para a sua criação, fazendo uso dos seus atributos que, apesar de serem parte da classe, cada objeto terá um atributo diferente.

 

Simples, não é mesmo?

Agora que apresentamos como criar uma classe, vamos conhecer os métodos!

 

MÉTODOS

Após estudar sobre as classes, vamos agora para o conceito de método. Para que você entenda melhor as suas características e possíveis aplicações, assista ao vídeo a seguir!

 

Com o que você aprendeu até aqui, podemos analisar um exemplo inicial para fixar melhor o conceito sobre métodos.

 

Após assistir aos vídeos, não podemos deixar de inserir um elemento importante nesse contexto: os construtores, assunto que você conhecerá melhor no próximo tópico.

CONTRUTORES

 

Quando nos referimos a construtores, analisamos um método que faz um laço entre classe e objeto. Observe o código abaixo que traz o funcionamento do construtor.

Fizemos a criação de um objeto por método tradicional, realizando a determinação dos parâmetros um a um, assim como está no início do nosso main, mas considerando a criação do construtor “Carro” para receber os parâmetros. Nesse caso, os atributos do construtor iniciam com letra minúscula, tornando-o diferente dos atributos já determinados anteriormente.
Portanto, é possível compreender que o segundo carro é chamado pelo construtor. Então, temos duas formas de trabalhar, sendo que o construtor fez exatamente o papel esperado: a ligação entre classe e objeto.

 

Para dar continuidade aos seus estudos, no próximo tópico, você verá sobre os elementos estáticos.

 

ELEMENTOS ESTÁTICOS

Você conhece os elementos estáticos? Sabe como eles funcionam? Acompanhe o slide na sequência para entender como são aplicados!

 

Você conhece os elementos estáticos? Sabe como eles funcionam? Acompanhe o slide na sequência para entender como são aplicados!

 

 

Elementos estáticos

 

Agora, observe no próximo código que, se excluirmos a determinação static do método multiplicar, será necessária a criação de uma instância. Nesse caso, devemos criar calc para ter acesso ao método “multiplicar”.

 

 

Criando uma instância

 

O mesmo conceito se aplica aos atributos estáticos, em que, caso seja atribuída a característica de estático ao atributo, este passará a se referir à classe como um todo, deixando de ser uma instância específica.

Depois de você entender os conceitos de elementos estáticos, principalmente, em relação à sua capacidade de dispensar a criação de uma instância para a chamativa da classe, você estudará no próximo tópico sobre os parâmetros variáveis.

 

PARÂMETROS VARIÁVEIS

No contexto da Linguagem C#, quando estamos elaborando uma linha de código, existem os parâmetros, isto é, elementos que passam a obter um valor pelos programadores, os quais podem detalhar os parâmetros separadamente para cada método diferente, no caso, os argumentos, ou seja, o valor atribuído a um parâmetro no momento em que se chama o procedimento.

Já os parâmetros variáveis trazem a possibilidade de passarmos quantos parâmetros desejarmos, e a linguagem agrupará essas variáveis.

Veja no código abaixo que utilizamos a função da linguagem C#, denominada de params, para estabelecermos a criação desse parâmetro variável. Além disso, incluímos o foreach com o objetivo de realizar a varredura enquanto houver nomes disponíveis para expor na tela.

 

Parâmetros variáveis

 

Nesse sentido, enviamos para o método “Despedida” mais de uma variável, sendo que todas foram agrupadas em “alunos”.

 

 

O resultado desse algoritmo é mostrado no código ao lado. Observe que todas as variáveis criadas no main foram apresentadas na tela.

 

Além dos parâmetros variáveis, ainda temos os tipos get e set, que você estudará na sequência. Vamos lá!

 

GET e SET

Até esse ponto você aprendeu que a criação de atributos do tipo public faz com que eles sejam visíveis para todos. O contrário também é válido, ou seja, se criarmos atributos do tipo private, eles serão visíveis apenas para o método.

 

No código a seguir, note como o termo é feito para a utilização dos métodos get e set, conforme você estudou até o momento.

 

Método get e set

 

Perceba que foi criada a classe “Carro”, com os atributos do tipo private — que serão acessados pelos métodos get e set — e, posteriormente, foi criado o construtor. No código, demonstramos a criação dos métodos get e set para o atributo “Marca”, mas o procedimento é realizado para os três atributos.

Neste tópico, você estudou sobre um tipo específico de parâmetro variável, o get e set, cuja função é atribuir a característica “private” a um método específico. Já a seguir, estudaremos as enumerações, enums, recurso usado para as variáveis incomuns presentes na linguagem C#.

 

ENUMERAÇÕES

Em determinados momentos, é necessário realizarmos a representação de alguma variável que não se encaixa nos tipos comuns, como string ou int. Dessa forma, criamos os enums, que como a própria abreviação nos revela, serve para indicar enumerações de atributos. Observe no código!

 

Enumeração

 

Note que ele apresenta um exemplo de enumeração realizada para a designação de um vídeo. É importante observar que, no main, é feita a conversão de string para int. O valor que retornará para a tela será a posição do tipo “serie”, tendo valor igual a “1”, uma vez que a enumeração começa a contar de “0”.

Depois de estudar sobre as enumerações, as quais estão relacionadas a variáveis incomuns, você verá os conceitos de structs e classes.

 

STRUCTS E CLASSES

Antes de continuarmos nossos estudos, é importante reforçarmos a diferença entre dois conceitos: struct e classe.

Isso se justifica, porque ambos influenciam na elaboração das linhas de código, principalmente, quando você, futuro programador, estiver trabalhando com a criação de estrutura de dados.

Sabendo disso, veja nos cards a principal diferença entre eles.

A atribuição é sempre feita por valor, e não por referência.

A atribuição é realizada por referência.

 

No código a seguir, foram criadas uma struct e uma classe com os mesmos parâmetros, a fim de verificarmos na prática essa diferença. Observe com atenção!

 

Struct e classe (comparação)

 

Note que, ao fazer a resolução do algoritmo, no caso da struct, os valores não são iguais, ou seja, mesmo que tenhamos criado uma cópia do ponto, ao modificar um, não se observará a mesma modificação no outro. Esse fato, por outro lado, já não é observado para o caso da utilização da classe.

Até aqui, você conheceu a principal diferença entre struct e classe na linguagem C#. Conforme falamos, saber a distinção entre ambos é relevante, uma vez que isso influencia na criação de linhas de códigos as quais possibilitam a elaboração e o uso de estruturas de dados mais eficazes e eficientes.

A seguir, você verá sobre a maneira pela qual é possível aplicar a referência dentro do contexto de parâmetros.

Vamos lá?

 

PARÂMETROS E REFERÊNCIA

 

Neste tópico, veremos como utilizar uma referência ou cópia de um valor, o que dependerá da maneira como você deseja criar a chamada da variável. Observe o código com atenção:

 

Note que os valores que utilizamos ao fazer a chamativa dos métodos faz uma cópia das variáveis “x” e “y”. Com isso, ela não será alterada. Logo, os valores impressos na tela serão “5” e “8”, pois não foi transmitida a referência, mas sim, a cópia da variável.

 

Observe, ainda, que existe a possibilidade de fazermos a passagem das variáveis como referências. Verifique que a variável “x” está sendo passada como referência, portanto, os valores que serão impressos na tela ao compilar o algoritmo serão “505” e “8”.

Assim como temos o parâmetro por referência, também existe o parâmetro padrão, que você estudará a seguir.

 

PARÂMETROS PADRÃO

O parâmetro padrão, como o próprio nome indica, está relacionado ao padrão que será atribuído para determinada variável, caso nenhum valor seja concedido a ela. Vamos analisar um exemplo?

Veja o caso a seguir:

 

01. public static double Multiplica(double x = 3.4 , double y = 3){
02. return x * y;
03. }

 

Nesse exemplo, foram inseridos valores padrões para as variáveis “x” e “y”, os quais são iguais a “3,4” e “3”, respectivamente. Esses valores podem ser modificados em algum momento, mas, caso não haja alterações durante o decorrer do código, o valor padrão será mantido.

Atenção

Lembre-se! A utilização desses valores padrões não se aplica para o uso de “ref” ou “out”.

 

Parabéns! Você chegou ao final do módulo 1.

Neste módulo, você conheceu os conceitos fundamentais para a aplicação da linguagem C#, que são relevantes para o seu futuro profissional, como, por exemplo, na programação orientada a objetos, a qual é muito usada em situações de desenvolvimentos de softwares personalizados de acordo com as futuras demandas.

A respeito desses conceitos iniciais, vamos estudar um pouco mais sobre a programação orientada a objeto? Será o assunto do próximo módulo.

 

Módulo 2

Programação orientada a objeto

 

#AlexHolanda