C# Artur Rauen Luciano Peixoto. Resumo - O que é C# - Histórico - Características gerais -...
Transcript of C# Artur Rauen Luciano Peixoto. Resumo - O que é C# - Histórico - Características gerais -...
Artur RauenLuciano Peixoto
Resumo
• - O que é C#• - Histórico• - Características gerais• - Programa usado para desenvolvimento• - Ligações com .NET e linguagens Java e C• - Características mais detalhadas• - Códigos• - Componentes• - Projetos escritos em C#
O que é C#• Linguagem de programação orientada a objetos ideal
para desenvolvimento de aplicaçoes web
• É considerado uma evolução do C++, do qual são utilizadas algumas características, como declarações, expressões e operadores.
• Utiliza muitas de regras de programação para reduzir a possibilidade de erros
• C# também tem como objetivo permitir o desenvolvimento de qualquer tipo de aplicação: Web service, aplicação Windows convencional, aplicações para serem executadas num palmtop ou handheld, aplicações para Internet etc.
Histórico e curiosidades• Criada pela Microsoft especificamente para a
plataforma .NET
• Inicada em 1999 por Anders Hejlsberg e equipe, com nome de Cool.
• .NET é apresentada em 2000, e linguagem Cool é renomeada para C#.
• O símbolo real seria o ♯ e não o #. Porém, devido a limitação de telas, fontes, teclados e alguns navegadores, no momento da normalização junto a ECMA, foi feita a opçao pelo #
• Foi criada baseando-se nas linguagens C++ e Java.
• Tem como um dos principais editores, o Visual Studio
Microsoft Visual Studio• O Microsoft Visual Studio é um pacote de
programas da Microsoft para desenvolvimento, dedicado ao framework .NET e às linguagens Visual Basic (VB), C , C++, C# e J#. Trata tambem de desenvolvimento web na plataforma do ASP.NET tendo como linguagens mais frequentes VB.NET (Visual Basic .Net) e o C#.
• Versão atual é o Visual Studio 2010,
lançado em 12 de Abril.
Microsoft Visual Studio
C# e .NET
• C# é considerada a linguagem símbolo do .NET da Microsoft
• Foi criada praticamente do zero, sem preocupações de compatibilidade com código legado
• Seu compilador foi o primeiro a ser desenvolvido
• A maior parte das classes do .NET Framework foram desenvolvidas em C#
• C# não possui em nenhuma implementação, qualquer conjunto de bibliotecas. Elas são obtidas diretamente do .NET
Introdução às características • Simplicidade
• Completamente orientada a objetos
• Fortemente tipada
• Geração de código gerenciado
• Tudo é um objeto
• Controle de versões
• Suporte a código legado
• Flexibilidade
Características
• As operações aritméticas são verificadas contra transbordamento de dados
• Suporta Garbage Collector, usado para a manutenção de memória
• Suporta sobrecarga de métodos e de operadores, mas não suporta argumentos padrão.
Comparações entre C# com C e C++
• Ponteiros sem checagem só podem ser utilizados em modo inseguro (unsafe mode).
• Objetos não são liberados explicitamente, só através do Garbage Collector quando não há referências aos mesmos, prevenindo assim referências inválidas
• Não é permitida herança múltipla, mas uma classe pode implementar várias interfaces abstratas
• Algumas sintaxes diferentes, como por exemplo, na declaração de vetores ("int[] a = new int[5]" ao invés de "int a[5]").
Comparações entre C# Java
• O Java não implementa o goto como estrutura de controle
• O Java utiliza comentários Javadoc e o C# utiliza comentários baseados em XML.
• O C# possui indexadores. O Java tem Listeners.• O Java utiliza a JVM, o C# o .Net Framework, Mono e
DotGnu.• O Java pode ser compilado em qualquer plataforma,
o C# possui compiladores para Windows e Windows Mobile(.NET) e Linux, Mac OS X e Solaris (Mono)
Assistente de conversão Java
• O Java Language Conversion Assistent (JLCA) é uma ferramenta que, automaticamente, converte códigos da linguagem Java em linguagem C# para desenvolvedores que querem migrar seus aplicativos.
• Atualmente na versão 3.0, foi construído sobre a tecnologia de migração ArtinSoft e converte automaticamente a maior parte de códigos-fonte
Mais detalhes
• Tipos parciais e Generics, trabalham com declarações de classes, estruturas e interfaces. Tipos Parciais permitem que eles sejam divididas em múltiplas partes em diferentes arquivos fontes, e Generics permite que sejam parametrizados pelos tipos de dados que eles armazenam e manipulam
• Implementaçao de Generic: StackGenericsT<int> st = new StackGenerics( );
Mais detalhes
• Programas escritos em C# rodam sob um ambiente gerenciável: todo o controle de memória é feito pelo .NET Framework, reduzindo assim falhas na programação enquanto a alocação e liberação de um objeto na memória.
• Classes agrupadas com funções similares– System.Drawing para gráficos, – System.Collections para estrutura de dados – System.Windows.Forms para o sistema
Windows Form.
Implementações• Instanciação de objeto – exemplo:
– Pessoa pessoa = new Pessoa {nome = “João”};
• Propriedades automáticas– public string nome {get; private set};
• Métodos extendidos– Adicionar métodos a classes incluindo a palavra-chave this no
parâmetro do método em outra classe (estática)
public class HelloWorld{ public static void Main() { System.Console.WriteLine(“Hello, world!"); }}
Exemplos de codigos
Palavras Chaves C#
Componentes• Qualquer objeto escrito em C# é um
Component Object Model (COM)
• COM – É uma plataforma da Microsoft para componentes de software. Eles são reutilizaveis e podem ser desenvolvidos na maiorias das linguagens de programação.
• DLL de negócio –É um COM, e contém uma classe que pode ser reutilizada em vários programas, linkado dinamicamente ao programa.
Projetos Baseados em C#• http://www.youtube.com/watch?v=nCP5X2odU_M&feature=player_embedded#!
• XNA Framework da Microsoft para jogos, no qual são feitos jogos
de XBOX 360
Projetos Baseados em C#
Bibliografia• A Linguagem C# - Parte 3, Antonio J. V. Tavares• http://pt.wikipedia.org/wiki/C%E2%99%AF• http://pt.wikipedia.org/wiki/Microsoft_XNA• C# e .NET – Guia do Desenvolvedor, Edwin Lima e Eugenio
Reis• Como Programar ASP.NET e C#, Alfredo Lotar• Logica de Programaçao II – Aula 6: C#, Interfaces Graficas,
sem autor declarado• Exemplos Práticos de Programação Visual em C#, Paulo
Cortez e Helder Quintela• Guia para iniciantes em C# e .NET Micro Framework, GHI
Eletronics• http://www.arquivodecodigos.net/arquivo/tutoriais/
csharp/curso_completo/