A importância da POO em .NET

A importância da POO é simples e direta. Tudo em .NET é objeto. Mesmo os tipos de dados mais simples são considerados objetos, já estes também contém métodos e propriedades.

Implicitamente, todo e qualquer tipo ou objeto em .NET possui um ancestral comum, o tipo object. Mesmo os tipos mais simples e os tipos (classes) criados posteriormente, herdam as características deste tipo. As vantagens de se ter um ancestral comum serão entendidas ao longo do curso. Uma delas já é explícita, pois atende completamente aos conceitos da POO.

Sem entrar em muitos detalhes neste ponto, considere o programa abaixo:

1
2
3
4
5
6
7
8
9
10
11
namespace ConsoleExemplo1
{
	class Class1
	{
		static void Main(string[] args)
		{
			string teste = 10.ToString();
			System.Console.WriteLine("{0}", teste);
		}
	}
}

O resultado deste algoritmo é o número 10 escrito na tela do Console.

Vamos dar uma atenção especial à linha 7. Veja o número 10 que está sendo atribuído à variável “teste” que é do tipo string. O interessante é que a variável 10 não foi definida em lugar algum. Por definição ela é uma constante e por interpretação, ele passa a ser considerada durante a compilação como um inteiro de 32 bits (Int32). Isso pode ser facilmente verificado usando o método GetType que retorna o nome do tipo de uma determinada variável:. Veja o código complementado abaixo:

1
2
3
4
5
6
7
8
9
10
11
12
namespace ConsoleExemplo1
{
	class Class1
	{
		static void Main(string[] args)
		{
			string teste = 10.ToString();
			System.Console.WriteLine("{0}", teste);
			System.Console.WriteLine("{0}", 10.GetType().ToString());
		}
	}
}

A linha 9 imprime na tela do Console o tipo de variável atribuído em tempo de compilação à constante 10. Veja o resultado da execução deste código:

Saída no Console - Método ToString aplicado a um Inteiro

O compilador converteu automaticamente a constante “10” para o tipo “System.Int32”. Como dito anteriormente, tudo em .NET é objeto e todos herdam do ancestral object, e como tal, possuem métodos, propriedades e tudo o que se aplica a este classe. No código acima, a constante 10 está executando dois métodos:

  • Na linha 7 executa o método ToString() que converte a variável para uma representação de string para que possa ser visualizada em modo texto.
  • Na linha 9 executa tanto o método ToString() quanto o método GetType() que retorna o tipo de dado da variável em que é aplicado.

Estando claro que tudo em .NET é objeto, seja ele um aplicativo console, um aplicativo Windows, enfim, podemos seguir com os estudos sabendo da importância dos objetos para tirar o máximo proveito dos recursos do .NET.