A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Intodução a C# Tecnologias Web

Apresentações semelhantes


Apresentação em tema: "Intodução a C# Tecnologias Web"— Transcrição da apresentação:

1

2 Intodução a C# Tecnologias Web
Enrique Pimentel Leite de Oliveira

3 Agenda Introdução a plataforma .Net Processo de compilação
O que é o C#? Sintaxe do C# Variáveis Constantes Tipos de Dados Simples e Complexos Operadores Estruturas de Decisão e Laços POO no C#

4 Visão Geral da plataforma .NET
Desafios Integração entre aplicações; Comunicação entre diferentes plataformas, dispositivos de hardware, sistemas operacionais e linguagens de programação. Características Plataforma de desenvolvimento de aplicações (Windows e Web) que possui um ambiente único de execução e gerenciamento (CLR); Permite a interoperabilidade entre as linguagens; Definida sobre os padrões e protocolos como: XML, WSDL, SOAP e HTTP; Anotações: DESAFIOS A plataforma .Net surgiu com o desafio de Integrar aplicações independente de plataforma (Intel, RISC, etc), periféricos (PC, SmartPhone, Tablet PC etc), Sistemas Operacionais e Linguagens de programação (Atualmente existem mais de 20 linguagens com suporte a .Net, incluindo C#, Delphi, VB.Net, J# etc). Aplicações rapidamente se tornam legados. Integração com os novos sistemas é necessária Diversidade cada vez maior de dispositivos: Servidor, PC, Notebook, Tablet PC, PDA, Celulares etc Características

5 Visão Geral da plataforma .NET
Características Plataforma de desenvolvimento de aplicações (GUI e Web) que possui um ambiente único de execução e gerenciamento de código (CLR); Independência de sistema operacional e linguagens de programação; Capacidade de interoperabilidade entre as linguagens; Definida sobre os padrões e protocolos como: XML, WSDL, SOAP e HTTP; Anotações: DESAFIOS A plataforma .Net surgiu com o desafio de Integrar aplicações independente de plataforma (Intel, RISC, etc), periféricos (PC, SmartPhone, Tablet PC etc), Sistemas Operacionais e Linguagens de programação (Atualmente existem mais de 20 linguagens com suporte a .Net, incluindo C#, Delphi, VB.Net, J# etc). Aplicações rapidamente se tornam legados. Integração com os novos sistemas é necessária Diversidade cada vez maior de dispositivos: Servidor, PC, Notebook, Tablet PC, PDA, Celulares etc Características

6 .NET Framework Coração da plataforma Principais módulos
Suporta o desenvolvimento de aplicações orientado à objetos e Internet; Modelo unificado de programação; Formada por uma grande biblioteca de códigos reutilizáveis; Responsável pela execução, gerenciamento e segurança do código; Principais módulos Common Language Runtime (CLR); .Net Base Class Library Anotações: Orientação à objetos: se não puramente OO, em grande parte Orientação à Internet: utilizando padrão XML Convergência das tecnologias da Microsoft: MFC, COM, ASP, Mobile  .NET Criação para outros sistemas operacionais: projeto Mono e Portable.NET

7 .NET Framework Arquitetura da .NET Framework Anotações:
CLR – Common Language Runtime: Gerencimento de memória, GC CTS: sistema unificado de tipos para suporte a multilinguagem Base Classes: Acesso à dados (ADO.NET) Manipulação de XML Manipulação de arquivos e diretórios (local, LDAP, AD) Windows Forms: Controles para desenvolvimento de aplicações Windows GUI, para todos os tipos de Windows (incluindo CE) ASP.NET: Web forms: nova geração de plataforma de desenvolvimento para Web Web Services: nova tendência de comunicação entre aplicações e distribuição de objetos Base classes: classes de nível intermediário que podem ser utilizadas em todos os tipos de aplicações, seja para PDA, Windows ou Web. Windows Forms: desenvolvimento clássico de aplicações para Windows como VB, Delphi, etc. mas agora na framework. ASP.NET: componentes para desenvolvimento de aplicações na web, seja para usuários (Web Forms) ou para outros sistemas (Web Services)

8 Introdução a plataforma .NET
Base Class Library Common Language Specification Common Language Runtime Data and XML VB C++ C# Visual Studio.NET ASP.NET JScript Windows Forms

9 Utilizando Classes da Framework
System System.Data System.Xml System.Web Globalization Diagnostics Configuration Collections Resources Reflection Net IO Threading Text ServiceProcess Security Design ADO SQLTypes SQL XPath XSLT Runtime InteropServices Remoting Serialization SessionState Caching Services Description Discovery Protocols UI HtmlControls WebControls System.Drawing Imaging Drawing2D Printing System.Windows.Forms ComponentModel

10 CLR Ambiente de execução das aplicações responsável pelo gerenciamento do código .NET Características Compilação do código fonte para IL (Intermediate Language); Utilização de compilador JIT (Just-in-Time) para converte código IL em código nativo; Suporte e Integração entre as múltiplas linguagens; Segurança de código; Gerenciamento do ciclo de vida dos objetos (Garbage Collector); Componentes audescritivos (assembly); Anotações: CLR – Common Language Runtime: máquina virtual da plataforma, sobre a qual “rodam” os programas feitos em .NET, com as características: Múltiplas linguagem e interoperabilidade entre linguagens Código gerenciado, ou seja, impossibilidade de acesso inválido à endereços, conversões inválidas de tipos, níveis de acesso os recursos Coleta de lixo Código e metadados encapsulados num assembly, evitando necessidade de registro de componentes

11 Compilação na plataforma
Processo de compilação e execução Assembly

12 Compilação na plataforma
Processo de compilação e execução Assembly

13 O que é o C#? Uma das linguagens que podem ser usadas para criar aplicativos executados no .NET CLR É uma evolução das linguagens C e C++ Criada especificamente para a plataforma .NET Projetada para utilizar os melhores recursos de outras linguagens e resolver problemas dessas linguagens É a pioneira das linguagens projetadas para o .NET Framework

14 Características do C# Completamente orientada a objetos
Suporta interfaces, sobrecarga, herança, atributos, propriedades, coleções, etc. Tudo é um objeto (System.Object) Fortemente Tipada Gera código gerenciado Suporte a código legado (COM e DLL’s) Permite desenvolver código não gerenciado

15 Sintaxe C# Básica Semelhante ao C++ e Java
Compilador ignora espaços, quebra de linha e caracteres de tabulação C# é uma linguagem estruturada em blocos. Esses blocos são delimitados por chaves (“{” e “}”) C# diferencia maiúsculas e minúsculas Comentários: Linha: iniciar a linha com “//” Bloco: iniciar o bloco com “/*” e finalizar com “*/”

16 Variáveis Regras de Nomenclatura Declaração Atribuição
O primeiro caractere deve ser uma letra ou um sublinhado (“_”) ou Os caracteres subseqüentes podem ser letras, sublinhados ou números Declaração <tipo> <nome>; int idade; Atribuição Utiliza-se o operador de atribuição (=) idade = 26;

17 Constantes Nativas Definidas pelo programador null true false
const <tipo> <nome> = <valor>; const string myString = “.NET”;

18 Tipos Simples Tipo Apelido de Valores Permitidos sbyte System.SByte
System.Byte 0 a 255 short System.Int16 a 32767 ushort System.UInt16 0 a 65535 int System.Int32 a uint System.UInt32 0 a long System.Int64 a ulong System.UInt64 0 a

19 Tipos Simples Tipo Apelido de Valores Permitidos float System.Single
1,5x10-45 a 3,4x1038 double System.Double 5,0x a 1,7x10308 decimal System.Decimal 1,0x10-28 a 7,9x1028 char System.Char Caracteres Single Unicode (0 a 65535) bool System.Boolean true ou false string System.String Uma seqüência de caracteres

20 Tipos Complexos Enumerações
Permite criar um tipo de dado que aceita apenas um valor dentre um conjunto fixo de possibilidades enum orientacao : byte { norte = 1, sul = 2, leste = 3, oeste = 4 } orientacao minhaDirecao = orientacao.norte;

21 Tipos Complexos Estruturas
Permite criar um tipo de dado através da combinação de outros tipos de dados simples e complexos struct rota { public orientacao direcao; public double distancia; } rota minhaRota; minhaRota.direcao = orientacao.norte; minhaRota.distancia = 2.5;

22 Tipos Complexos Arrays São listas indexadas de variáveis
Os membros individuais de um array são chamados de elementos Todos os elementos de um array são do mesmo tipo (tipo-base) Podemos acessar cada elemento de um array através de seu índice Os índices de um array iniciam em 0

23 Tipos Complexos Declaração de Arrays
int[] myArray; Declaração e Inicialização de Arrays int[] myArray = {1,2,3,4,5}; int[] myArray = new int[5]; int[] myArray = new int[3] {1,2,3};

24 Modificadores de acesso
O membros das classes podem ser definidos utilizando um dos seguintes modificadores de acesso: Palavra-chave Significado public Membro acessível de qualquer código private Membro acessível apenas para o código da classe em que ele é definido internal Membro acessível apenas para o código do projeto (assembly) em que ele é definido protected Membro acessível apenas para o código da classe em que ele é definido ou uma classe derivada

25 Operadores Aritméticos
Unários – atuam sobre apenas um operando Menos unário (-): multiplica o operando por -1 A expressão -x equivale a x = x * (-1) Decremento (--): decrementa o operando em uma unidade A expressão x-- equivale a x = x – 1 Incremento (++): incrementa o operando em uma unidade A expressão x++ equivale a x = x + 1

26 Operadores Aritméticos
Binários – atuam sobre dois operandos Adição (+) Subtração (-) Multiplicação (*) Divisão (/) Modulus (%) Exemplos: x = ; x igual a 15 x = ; x igual a 5 x = 10 * 5; x igual a 50 x = 10 / 5; x igual a 2 x = 11 % 5; x igual a 1

27 Operadores Relacionais
São usados para comparar expressões e resultam em falso ou verdadeiro Igual a (==) Maior que (>) Menor que (<) Maior ou igual a (>=) Menor ou igual a (<=) Diferente de (!=) Exemplos: 1 == 1 retorna verdadeiro 2 > 1 retorna verdadeiro 2 < 1 retorna falso 2 >= 1 retorna verdadeiro 2 <= 2 retorna verdadeiro 2 != 2 retorna falso

28 Operadores Lógicos Binários Unários Operador AND (&&) Operador OR (||)
Resulta em verdadeiro se ambas expressões forem verdadeiras Operador OR (||) Resulta em verdadeiro se pelo menos uma expressão for verdadeira Unários Operador NOT (!) Resulta em verdadeiro se a expressão for falsa

29 A instrução if if(var1 < var2) Console.WriteLine(“var1 < var2”); else if(var1 == var2) Console.WriteLine(“var1 == var2”); Console.WriteLine(“var1 > var2”);

30 A instrução switch switch(x) { case 1: Console.WriteLine(“x igual a 1”); break; case 2: Console.WriteLine(“x igual a 2”); default: Console.WriteLine(“x diferente de 1 e 2”); }

31 Laço for int i; for(i=0; i <= 10; i++) { Console.WriteLine(“{0}\n”, i); }

32 Laço while int i = 0; while(i <= 10) { Console.WriteLine(“{0}\n”, i++); }

33 Laço foreach string Amigos[] = {“Pedro”, “Antonio”}; foreach(string Amigo in Amigos) { Console.WriteLine(Amigo); }

34 Classes Classes organizadas dentro de namespaces namespace Demo {
class MyClass //membros da classe }

35 Modificadores de Acesso
Significado none ou internal A classe é acessível apenas dentro do projeto atual public A classe é acessível de qualquer lugar abstract A classe é acessível apenas do projeto atual, não podendo ser instanciada, apenas derivada public abstract A classe é acessível de qualquer lugar, não podendo ser instanciada, apenas derivada sealed A classe é acessível apenas do projeto atual, não podendo ser derivada, apenas instanciada public sealed A classe é acessível de qualquer lugar, não podendo ser derivada, apenas instanciada

36 Construtores Mesmo nome da classe Sem tipo de retorno
Podem ter ou não ter argumentos class MyClass { public MyClass() { ... } public MyClass(string Title) { ... } }

37 Destrutores Não é invocado assim que paramos de usar o objeto
class MyClass { ~MyClass() //corpo do destrutor }

38 Criação de Objetos public class MyClass { //membros da classe } MyClass obj; obj = new MyClass(); MyClass obj = new MyClass(“Título”);

39 Declaração de métodos Sempre devem estar dentro de uma classe.
Sintaxe semelhante ao C/C++ Suportam sobrecarga (overloading) Sintaxe: modificador tipo Nome_Método(parâmetros) { // Processamento do método }

40 Métodos - Exemplo public class MyHelloWorld { ... public virtual void SayHello() { ... } private void SetTitle(String Title) }

41 Modificadores - Métodos
Principais modificadores utilizados para métodos em C# são: Palavra-chave Significado virtual Método pode ser sobrescrito abstract Método deve ser sobrescrito (permitido apenas em classes abstratas) override Método se sobrepõe a um método da classe-base (deve ser utilizado se um método estiver sendo sobrescrito) extern Utilizado para indicar que a implementação do método é externa. Normalmente utilizada quando métodos de DLL’s são importados Maiores detalhes veja na ajudo do VS.NET 2005: modifiers [C#] Maiores detalhes, procure no Help do VS.NET por methods [C#]

42 Parâmetros de Métodos Exemplo de declaração de método
São valores que são passados para o método, para que o mesmo faça algum processamento. Sintaxe: modificador tipo método(tipo parametro1, tipo parametro2, ...tipo parametroN) Exemplo de declaração de método public int Soma(int Num1, int Num2) { return (Num1 + Num2); }

43 Chamada de Métodos Exemplo: ... int num1 = 10; int num2 = 20;
Operacoes s = new Operacoes(); // Chamada do método soma // Dentro da chamada de Console.WriteLine() Console.WriteLine(s.Soma(num1,num2));

44 Tipos de Parâmetros Por valor Por referência
ref: parâmetro de entrada e saída. Parâmetro deve ser inicializado antes de ser passado. out: parâmetro de saída. Similiar ao ref, porém não precisa ser inicializado. public void func1(int x) { ... } public void func2(out int x) public void func3(ref int x)

45 Propriedades Sintaxe alternativa para acesso aos membros de dados da classe public class Veiculo { private string modelo; public string Modelo get { return modelo; } set { modelo = value; } }

46 Herança Existe apenas herança simples { public virtual void Func()
public class MyClassBase { public virtual void Func() //Implementação base } public class MyClassDeriv : MyClassBase public override sealed void Func() //Sobrescreve a implementação base

47 Herança – cont. Métodos não são virtuais por padrão
public class MyClassBase { ... public virtual void Func() { ... } } public class MyClassDeriv : MyClassBase { public override void Func(){ base.Func();

48 Exercícios C# Criar uma calculadora com as 4 operações básicas;
Incrementar o exercício anterior incluindo raiz quadrada; Separar a calculadora em 2 classes de modo que o código possa ser reutilizado em outros projetos.

49 Exercícios C# Criar uma aplicação que receba uma string do usuário e exiba na tela a string invertida; Criar uma classe chamada SwapClass, a qual possui um método estático chamado Swap que recebe dois parâmetros inteiros, passados por referência e executa a troca dos valores. No clique de uma botão, invoque o método estático e exiba o resultado na tela.

50 Exercício C# Escreva um programa que defina a classe-base, MyClass, com o método virtual GetString(). Este método deverá retornar a string armazenada no atributo protegido myString, acessível através da propriedade pública de somente escrita ConteinedString.

51 Exercício C# Criar uma classe derivada de MyClass, MyDerivedClass, sobrescrever o método GetString(), utilizando a implementação base do método, porém com a adição do texto: "(saída da classe derivada)". Criar um construtor para a classe derivada que permita atribuir uma string inicial ao atributo myString. Criar uma classe para testar a implementação da classe derivada.

52 Conversão de tipos Comando Resultado Convert.ToBoolean(val)
val é convertido para bool. Convert.ToByte(val) val é convertido para byte. Convert.ToChar(val) val é convertido para char. Convert.ToDecimal(val) val é convertido para decimal. Convert.ToDouble(val) val é convertido para double. Convert.ToInt16(val) val é convertido para short. Convert.ToInt32(val) val é convertido para int. Convert.ToInt64(val) val é convertido para long. Convert.ToSByte(val) val é convertido para sbyte. Convert.ToSingle(val) val é convertido para float. Convert.ToString(val) val é convertido para string. Convert.ToUInt16(val) val é convertido para ushort. Convert.ToUInt32(val) val é convertido para uint. Convert.ToUInt64(val) val é convertido para ulong.

53 Bibliografias MSDN Library .NET framework center C# ASP.NET
.NET framework center C# ASP.NET Laboratório .NET do ISEP/IPP

54 Bibliografias ECMA Introduction to C# @ ECMA
Introduction to ECMA Common Language ECMA

55


Carregar ppt "Intodução a C# Tecnologias Web"

Apresentações semelhantes


Anúncios Google