Mono e C# (parte 1)
Este é o primeiro artigo de uma série de artigos que visam apresentar e introduzir Mono e C# para os amantes do mundo livre e dos admiradores e usuários do Linux.
Parte 3: C# e POO
C# é uma linguagem orientada a objetos. Todos os objetos em C# herdam de System.Object. Ou seja, temos um ponto-comum, facilitando coisas como a generalidade de listas, filas e outras estruturas de dados. Os tipos em C# podem ser divididos em duas categorias: tipos valor e tipos referência. As variáveis do tipo valor são enumerações (enum) ou estruturas (struct) e tem seus valores armazenados na pilha (o que é mais eficiente, embora menos flexível). As variáveis do tipo referência tem seu valor armazenado no heap e tem a classe System.Object como classe base.
Nos próximos artigos também explicarei como criar objetos e como o runtime Mono se encarrega de liberar a memória ocupada por estes objetos por meios de 'garbage colector'. Vamos aquecer um pouco nossos cérebros. O próximo programa é para você analisar. Tente descobrir a diferença entre métodos estáticos e métodos não estáticos. Se você não conseguir, não se preocupe, explicarei nos próximos artigos desta série.
Exemplo: HelloWorld2.cs
Nos próximos artigos também explicarei como criar objetos e como o runtime Mono se encarrega de liberar a memória ocupada por estes objetos por meios de 'garbage colector'. Vamos aquecer um pouco nossos cérebros. O próximo programa é para você analisar. Tente descobrir a diferença entre métodos estáticos e métodos não estáticos. Se você não conseguir, não se preocupe, explicarei nos próximos artigos desta série.
Exemplo: HelloWorld2.cs
class HelloWorld2{
public void Metodo1(){
System.Console.WriteLine("Método 1 não estático");
}
public static void Metodo2(){
System.Console.WriteLine("Método 2 estático");
}
public static void Main()
{
HelloWorld2 objeto = new HelloWorld2();
objeto.Metodo1();
HelloWorld2.Metodo2 ();
}
} //fim da classe HelloWorld2
public void Metodo1(){
System.Console.WriteLine("Método 1 não estático");
}
public static void Metodo2(){
System.Console.WriteLine("Método 2 estático");
}
public static void Main()
{
HelloWorld2 objeto = new HelloWorld2();
objeto.Metodo1();
HelloWorld2.Metodo2 ();
}
} //fim da classe HelloWorld2
Nota 1: Comentários de uma linha em C# são feitos com duas barras (//).
Nota 2: C# é case-sensitive, ou seja, diferencia entre letras maiúsculas e minúsculas, cuidado ao digitar os códigos deste artigo.
C# possibilita encapsulamento, polimorfismo e herança. Estas e outras práticas de programação serão vistas nos outros arquivos desta série.
[]'s