LPC - aula 1 - Introdução .NET

553 visualizações

Publicada em

Apresentação da Plataforma, Tipos e Coleções básicos que vamos trabalhar durante o semestre.

Publicada em: Software
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

LPC - aula 1 - Introdução .NET

  1. 1. Linguagem de Programação Comercial Prof. Charles Fortes Introdução .NET e C#
  2. 2. Linguagem de Programação Comercial Prof. Charles Fortes Sobre o Professor
  3. 3. Linguagem de Programação Comercial Prof. Charles Fortes Charles Fortes
  4. 4. Linguagem de Programação Comercial Prof. Charles Fortes Charles Fortes Líder Técnico na Empresa Prime Systems. Agilista, apaixonado por desenvolvimento (Web, Desktop, Mobile, o que for), pai, amante do Paintball e do Kenjutsu. MTAC - Microsoft Technical Audience Contributor 100Loop - DotNetRaptors
  5. 5. Linguagem de Programação Comercial Prof. Charles Fortes Charles Fortes Líder Técnico na Empresa Prime Systems. Agilista, apaixonado por desenvolvimento (Web, Desktop, Mobile, o que for), pai, amante do Paintball e do Kenjutsu. MTAC - Microsoft Technical Audience Contributor 100Loop - DotNetRaptors SlideShare: http://pt.slideshare.net/charleswellingtonfortes Linkedin: http://br.linkedin.com/in/charlesfortes/ Twitter: @CharlesFortes
  6. 6. Linguagem de Programação Comercial Prof. Charles Fortes Charles Fortes Líder Técnico na Empresa Prime Systems. Agilista, apaixonado por desenvolvimento (Web, Desktop, Mobile, o que for), pai, amante do Paintball e do Kenjutsu. MTAC - Microsoft Technical Audience Contributor 100Loop - DotNetRaptors Desenvolvimento Web – MVC – Angular.JS – JQuery – SQLServer – MySQL – HTML5 – NoSQL
  7. 7. Linguagem de Programação Comercial Prof. Charles Fortes Visão Geral
  8. 8. Linguagem de Programação Comercial Prof. Charles Fortes O que é o .NET FrameWork O .NET Framework  Conjunto de bibliotecas desenvolvidas para suprir as mais diversas necessidades de desenvolvimento  Desenvolvido para funcionar com uma máquina virtual que interpreta o código
  9. 9. Linguagem de Programação Comercial Prof. Charles Fortes Vantagens 100% Orientada a objetos; Facilidade de desenvolvimento de aplicações; Facilidade na instalação e na distribuição de aplicações; Alta escalabilidade; Interoperabilidade entre plataformas e componentes desenvolvidos em outras linguagens .NET; Rotina automática de “coleta de lixo” que permite remoção de variáveis e objetos que não são mais utilizados;
  10. 10. Linguagem de Programação Comercial Prof. Charles Fortes Compatibilidade do Framework 100% Nativo no Win 8, Win 7, Windows Vista Funciona no Windows XP (SP3) Até sua versão 2.0 instalável no Windows 98 com emulação Até sua versão 1.1 instalável no Windows NT 4.0SP6 com emulação
  11. 11. Linguagem de Programação Comercial Prof. Charles Fortes Funcionamento do Framework Máquina Virtual Todo código gerado é gerado em linguagem intermediária (MSIL – Microsoft Intermediate Language) Quando compilamos o código .NET são gerados arquivos que são chamados Assembly Todo assembly é compilado duas vezes, uma pelo compilador que o transforma no Assembly propriamente dito (MSIL) e a segunda vez pelo JIT (Just-in-Time Compiler) Quando o JIT compila o MSIL, ele o recompila de forma a otimizar a aplicação para aquele computador, baseado em seu Hardware e Software
  12. 12. Linguagem de Programação Comercial Prof. Charles Fortes C# MSIL VB.NET CLR (Common Language Runtime) Linguagem de máquina MeuPrograma.cs MeuPrograma.vb MeuPrograma.dll MeuPrograma.exe csc vbc JIT
  13. 13. Linguagem de Programação Comercial Prof. Charles Fortes Funcionamento do Framework MultiPlataformas Uma vez que todo código .NET que o compilador gera (os Assemblies) são gerados em MSIL, podemos ter diversas linguagens diferentes criando estes arquivos Possibilidade de utilização de arquivos em VB.NET, C#, J#... Etc... Podemos utilizar os Assemblies criados em diferentes linguagens em um único projeto sem prejuízo de desempenho ou qualquer trabalho adicional
  14. 14. Linguagem de Programação Comercial Prof. Charles Fortes Tipos
  15. 15. Linguagem de Programação Comercial Prof. Charles Fortes Value Types : Conceitos Inicialmente todo tipo booleano e numéricos; Tem seus valores armazenados no mesmo local onde a variável está instanciada na memória (stack); São divididas em três tipos principais : Built-in types User-defined types Enumerations Todos herdam de System.Value; Quando definimos um objeto valorado igual ao outro, uma cópia das informações contidas no primeiro objeto é feita para um novo local da memória (o mesmo local onde a variável está instanceada);
  16. 16. Linguagem de Programação Comercial Prof. Charles Fortes Built-in Value Types Tipos nativos do Framework Possuem o mesmo tratamento, comportamento e estrutura independente da linguagem utilizada Tipos Otimizados para promover melhor desempenho Exitem aproximadamente 300 tipos valorados no .NET
  17. 17. Linguagem de Programação Comercial Prof. Charles Fortes Tipo NameSpace / VB/ C# Byte s Tamanho Uso System.Sbyte (Sbyte/sbyte) 1 -128/127 Bytes com sinal System.Byte (Byte/byte) 1 0 a 255 Byte sem sinal System.Int16(Short/short) 2 -32768 a 32767 Interoperações e outros usos específicos System.Int32 4 -2147483648 a 2147483647 a Tipo numérico (números inteiros) (Integer/int) 2147483648 a 2147483646 padrão. System.UInt32 (Uinteger/uint) 4 0 a 4294967295 Int32 positivos System.Int64 (Long/long) 8 -9223372036854775808 a 9223372036854775807 Inteiros muito grandes System.Single (Single/Float) 4 -3.402823E+38 a 3.402823E+38 Números de ponto flutuante System.Double (Double/double) 8 -/+ 1.79769313486232E+308 Precisão Dupla de Ponto Flutuante System.Decimal (Decimal/decimal) 16 -79228162514264337593543950335 a 79228162514264337593543950335 Cálculos Financeiros e Científicos que requiram grande precisão System.Char (Char/char) 2 N/A Caracter Unicode System.Boolean (Boolean/bool) 4 N/A True/False System.DateTime (Date/date) 8 1/1/0001 12:00:00 AM a 12/31/9999 11:59:59 AM Tempo
  18. 18. Linguagem de Programação Comercial Prof. Charles Fortes Built-in Value Types Tipos valorados implicitam construtor Se não iniciadas na contrução assumem os valores : Zero Null Empty
  19. 19. Linguagem de Programação Comercial Prof. Charles Fortes Paralelo sobre Tipos de Dados No DotNet tudo é derivado de System.Object Isto facilita a interação entre os tipos e disponibiliza funções comuns como toString();
  20. 20. Linguagem de Programação Comercial Prof. Charles Fortes User-Defined Value Types Criados a partir de Structs; Possuem as Mesmas possibilidades das classes porém são passados por valor; Devem ser utilizados para a criação de estruturas de armazenamento simples que não serão modificadas ou passadas por parâmetro muitas vezes.
  21. 21. Linguagem de Programação Comercial Prof. Charles Fortes Reference Types Quando recebe um outro objeto, ele apenas faz um apontamento para os dados armazenados na memória e armazenas apenas esse ponteiro em sua stack. O local onde os dados referenciados fica armazenado na memória é chamado de heap; Toda Classe é um tipo por referencia; Todo tipo por referência necessita construtor;
  22. 22. Tipo Uso System.Object A mãe de todas as classes dentro do .NET Framework. Dela que os filhos herdam métodos como ToString() System.String Texto System.Text.StringBuilder Texto Dinâmico System.Array Classe Mãe de todos os Array´s System.IO.Stream Classe Abstrata responsável por Buffer. System.Exception Classe mãe de todas as Exceções (Tratamento de Erros) Linguagem de Programação Comercial Prof. Charles Fortes Exemplos de Tipo por referência
  23. 23. Linguagem de Programação Comercial Prof. Charles Fortes Reference Types X Value Types Comparações Quando utilizar um e o outro?
  24. 24. Linguagem de Programação Comercial Prof. Charles Fortes String  Strings são exceções entre os Tipos por Referência  Strings são tratadas como tipos valorados  Sempre que concatenamos uma string ele gera uma nova instancia de string em uma nova Stack contendo o valor da string antiga e da string adicionada: Utilização da string || Alocalçao na Memória string str = “Colé” // nova(Stack[0]) : “Colé” str += “doidin” // nova(Stack[1]) : “Colé doidin” str += “perdeu!” // nova(Stack[2]) : “Colé doidin perdeu!”
  25. 25. Linguagem de Programação Comercial Prof. Charles Fortes Solução A solução é a utilização do métodos métodos Concat, Join ou Format quando estiver trabalhando com pequenas quantidades de dados A Utilização do StringBuilder para manipular grandes manipulações de string
  26. 26. Linguagem de Programação Comercial Prof. Charles Fortes Collections
  27. 27. Linguagem de Programação Comercial Prof. Charles Fortes 1. Tipos de Listas • Listas • Pilhas • Filas • Dicionários de Dados 2. Listas Genéricas • List<t> 3. Dicionários Genéricos • Dictionary<t, t> ** Demonstração no Compilador **
  28. 28. Linguagem de Programação Comercial Prof. Charles Fortes Tratamento de Erros
  29. 29. Linguagem de Programação Comercial Prof. Charles Fortes Try || Catch || Finally || Exceptions Explicar na IDE
  30. 30. Linguagem de Programação Comercial Dúvidas? Prof. Charles Fortes

×