Introdução aos objetos em C #

Como já se sabe, o C # é uma linguagem de programação orientada a objetos e é pronunciada como C Sharp. Embora o C # tenha sido desenvolvido a partir do C ++, ambos se diferenciam. As diferenças básicas podem ser entendidas através de C ++ vs C #.

O objeto é uma instância de uma classe. Aqui a memória é alocada dinamicamente para fornecer a saída de um determinado programa. Então, como podemos explicar essa alocação dinâmica? Eu tentaria explicar isso de uma maneira não técnica. Os objetos são criados para acessar diferentes funções ou variáveis ​​definidas na classe. Portanto, um objeto não sabe qual tipo de dados ele realmente acessará. Então, depois de obter o valor dos elementos acessados, ele organizaria a memória dinamicamente.

Criando um objeto

Em geral, um objeto pode ser criado de duas maneiras. Uma delas é usar o comando "novo". A sintaxe geral para o objeto está abaixo:

Class-name object-name = new Class-name();

E então, usando o nome do objeto, podemos acessar os respectivos métodos e variáveis ​​que são definidos dentro da classe.

Outra maneira de definir um objeto é por referência a outro objeto. Algo como atribuir o valor.

Class-name object-name1 = new Class-name();
Class-name object-name2;
Object-name2=object-name1;

E podemos acessar a variável e os métodos na classe usando os objetos nome do objeto1 e nome do objeto2.

Exemplos de objetos em c #

Aqui vamos ter um exemplo para cada maneira de criar um objeto em C #.

Abaixo está um programa para encontrar o quadrado de um número.

using System;
class Square
(
public int side;
public Square(int a)
(
side=a;
)
public int Sq()
(
return side*side;
)
)
class First
(
static void Main(String () args)
(
int result;
Square s= new Square(4);
result=s.Sq();
Console.WriteLine("Square of the given number is " + result);
)
)

Resultado:

Então, no programa acima

  • Criamos uma classe Square e escrevemos duas funções dentro da classe. Uma função que também é um construtor (nome da função igual ao nome da classe) é para inserir o valor de um número e outra para realizar a operação real.
  • Em nossa classe First, que tem a função principal dentro dela, inicializamos nossos objetos 's' e passamos o parâmetro, para qual número realmente queremos executar a operação quadrada.
  • E declaramos um resultado variável; estamos passando a saída do método acessado por objeto 'Sq', que executa a operação real.
  • Finalmente produzindo o resultado quadrado em nosso console.

Para nossa próxima maneira de criar um objeto, exemplo é o seguinte:

using System;
class Square
(
public int side;
public Square(int a)
(
side=a;
)
public int Sq()
(
return side*side;
)
)
class First
(
static void Main(String () args)
(
int result1, result2;
Square s1= new Square(4);
Square s2;
s2=s1;
result1=s1.Sq();
result2=s2.Sq();
Console.WriteLine("Square of the given number is " + result1);
Console.WriteLine("Square of the given number is " + result2);
)
)

Resultado:

E para uma extensão disso, podemos até atribuir valor à nossa variável usando um objeto. Vamos ver como podemos fazer isso.

using System;
class Square
(
public int Side;
public Square(int side)
(
Side=side;
)
public int Sq()
(
return Side*Side;
)
)
class First
(
static void Main(String () args)
(
int result1, result2, result3;
Square s1= new Square(4);
Square s2= new Square(6);
result1=s1.Sq();
result2=s2.Sq();
s2.Side=7;
result3=s2.Sq();
Console.WriteLine("Square of the given number is " + result1);
Console.WriteLine("Square of the given number is " + result2);
Console.WriteLine("Square of the given number is " + result3);
)
)

Aqui, acessamos a variável e alteramos seu valor de 6 para 7. Em seguida, a saída é impressa após a inicialização do valor para a nova variável result3. A saída obtida está abaixo.

Resultado:

Até aqui, criamos um objeto e o referenciamos através de um único formato de texto. Agora vamos ver se precisamos de uma matriz de objetos para armazenar e manipular nossos dados.

using System;
class Square
(
public int Side;
public void Sqr(int side)
(
Side=side;
)
public int Sq()
(
return Side*Side;
)
)
class First
(
static void Main(String () args)
(
int result1, result2, result3;
Square() sq = new Square(3);
sq(0)= new Square();
sq(1)= new Square();
sq(2)= new Square();
sq(0).Side=13;
sq(1).Side=85;
sq(2).Side=25;
result1=sq(0).Sq();
result2=sq(1).Sq();
result3=sq(2).Sq();
Console.WriteLine("Square of the given number is " + result1);
Console.WriteLine("Square of the given number is " + result2);
Console.WriteLine("Square of the given number is " + result3);
)
)

No programa acima, o mesmo de antes, criamos uma matriz de objetos e atribuímos um valor a cada objeto. Em seguida, executamos nossa segunda função para gerar o quadrado de dois números.

A saída do acima está como abaixo:

Resultado:

Como exercício, você pode tentar carregar notas de 5 alunos em 3 disciplinas usando uma matriz do objeto?

Conclusão

Como visto acima, criamos com sucesso um objeto de maneiras diferentes e o usamos na atribuição de valores às variáveis ​​e na chamada das funções presentes na classe. Mas aqui, precisamos entender e seguir algumas regras baseadas nos modificadores de acesso. Um objeto não pode acessar variáveis ​​/ funções com um modificador de acesso "privado" que pertence a outra classe. Mas pode acessar as mesmas variáveis ​​ou funções de classe, embora declaradas com um modificador privado. Portanto, dessa maneira, há um conjunto de regras definidas em relação a classes, variáveis, funções e objetos.

Tente criar objetos de maneiras diferentes com diferentes modificadores de acesso e confira as saídas para conhecer o escopo dos objetos e continuar aprendendo.

Artigos recomendados

Este é um guia para objetos em c #. Aqui discutimos as diferentes maneiras de criar objetos em C #, juntamente com exemplos e sua implementação de código. Você também pode consultar os seguintes artigos para saber mais -

  1. Destruidor em c #
  2. Matrizes irregulares em C #
  3. Funções C #
  4. O que é multithreading em c #?
  5. Objeto em Java
  6. Métodos de multithreading em C #