Introdução à linguagem
C# ("cê charp") é uma linguagem de programação orientada a objetos, fortemente tipada, desenvolvida pela Microsoft como parte da plataforma .NET. A sua sintaxe orientada a objetos foi baseada no C++ mas inclui muitas influências de outras linguagens de programação, como Object Pascal e Java.
Ao ser desenvolvido a plataforma .NET, as bibliotecas foram escritas originalmente numa linguagem chamada Simple Managed C (SMC), que tinha um compilador próprio. Mas, em Janeiro de 1999, uma equipe de desenvolvimento foi formada por Anders Hejlsberg, que fora escolhido pela Microsoft para desenvolver a linguagem. Dá-se inicio à criação da linguagem chamada Cool. Um pouco mais tarde, em 2000, o projeto .NET era apresentado ao público na Professional Developers Conference (PDC), e a linguagem Cool fora renomeada e apresentada como C#.
A criação da linguagem, embora tenha sido feita por vários programadores, é atribuída principalmente a Anders, hoje um Distinguished Engineer na Microsoft. Ele fora o arquiteto de alguns compiladores da Borland, e entre suas criações mais conhecidas estão o Turbo Pascal e o Delphi.
A plataforma .Net suporta outras linguagens de programação com VB.NET, J#, C++, Delphi for .NET entre outras, o que torna essa arquitetura produtiva e independente de linguagem, ou seja, o desenvolvimento pode escolher, dentre as linguagens disponíveis, a que mais agrada. Essa liberdade de escolha da linguagem de programação também aumenta a produtividade de um time de desenvolvimento, pois enquanto parte dos desenvolvedores estão construindo a interface gráfica em VB.NET um outro grupo pode estar desenvolvendo as classes de negócio com C#.
Exemplo simples mostrando "Hello World":
Por ser uma linguagem padronizada, a linguagem C# não se limita a ter apenas um fornecedor de IDE's. Várias empresas já estão distribuindo suas IDE's para C#, algumas de forma comercial, outras como OpenSouce ou simplesmente gratuitas. É possível inclusive desenvolver aplicações em C# apenas usando o bloco de notas e as ferramentas de linha de comando do Microsoft .NET Framework. Algumas das mais conhecidas são:
- Microsoft Visual Studio .NET 2003;
- Borland Delphi 2005;
- ASP .NET WebMatrix;
- #develop (SharpDevelop);
- Eclipse for C#.
Em C#, é suportado através do uso de Generics (Framework 2.0 +), namespace System.Collections.Generic. Exemplo:
// Criando uma lista de Objetos:List<Object> lstObject = new List<Object>();
Modela herança e subtipos. Permite a um objeto pertencer a várias classes simultaneamente, criando uma hierarquia de herança. Numa subclasse, um objeto pode ter um comportamento modificado com relação à classe original. Assim só ocorre em linguagens que permitem subtipo e herança. Uma instância de uma subclasse pode ser manipulada pelas mesmas funções que manipulam instâncias da superclasse. Em C# é suportado através de herança.
Exemplo:
public class Carro { }public class Ferrari : Carro {}// Objeto Pai apontando para o FilhoCarro Ferrari = new Ferrari();
É suportado através da sobrecarga de métodos, ou seja, consiste em utilizar o mesmo nome de um método com assinaturas diferentes. Permite que um mesmo nome denote diversas funções, de acordo com o contexto. Constitui apenas uma abreviação sintática (um preprocessamento pode atribuir nomes diferentes às diversas funções). Em C# é suportado através da sobrecarga de métodos. Exemplo:
public class Gasolina { }public class Combustivel { }public class Ferrari{public void Abastecer(Gasolina boa) { }public void Abastecer(Combustivel bom) { }
}
Outro exemplo:
public abstract class Carro{public abstract bool acao();}public class Acelerar : Carro{public override bool acao(){Console.WriteLine("O Carro está acelerando.");return true;}}public class Frear : Carro{public override bool acao(){Console.WriteLine("O Carro está freando.");return true;}}
É suportado através da sobrecarga de operadores, ou seja, ocorre quando se converte um elemento de um tipo, no tipo apropriado para o método. Permite que um argumento seja convertido para o tipo esperado por uma função, evitando assim um erro de tipo. É uma operação semântica que reduz o tamanho do código (um compilador determina as conversões de tipo necessárias e as insere automaticamente). Em C# é suportado através da sobrecarga de operadores.
Exemplo:
public class Elefante{private Int32 _peso;public Int32 Peso{get { return this._peso; }set { this._peso = value; }}public Elefante() { }public Elefante(Int32 Peso){this._peso = Peso;}public static Elefante operator ++(Elefante e){return new Elefante(e.Peso + 1);}}class Program{static void Main(string[] args){Elefante e = new Elefante(10);System.Console.WriteLine(e.Peso.ToString());e++;System.Console.WriteLine(e.Peso.ToString());System.Console.ReadKey();// @OUTPUT:// 10// 11}}
Referencias: linhadecodigo.com.br dowhile.com.br
0 comentários:
Postar um comentário