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:
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.
