1 / 55

Intodução a C# Tecnologias Web

Intodução a C# Tecnologias Web. Enrique Pimentel Leite de Oliveira enrique.leite@aes.edu.br. 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

Download Presentation

Intodução a C# Tecnologias Web

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Intodução a C#Tecnologias Web Enrique Pimentel Leite de Oliveira enrique.leite@aes.edu.br

  2. 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#

  3. 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;

  4. 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;

  5. .NET Framework • Coração da plataforma • 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 • CommonLanguageRuntime (CLR); • .Net Base ClassLibrary

  6. Arquitetura da .NET Framework .NET Framework

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

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

  9. 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 (IntermediateLanguage); • 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 (GarbageCollector); • Componentes audescritivos (assembly);

  10. Processo de compilação e execução Compilaçãonaplataforma Assembly

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

  12. 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

  13. 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

  14. 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 “*/”

  15. Variáveis • Regras de Nomenclatura • 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;

  16. Constantes • Nativas • null • true • false • Definidas pelo programador • const <tipo> <nome> = <valor>; conststringmyString = “.NET”;

  17. Tipos Simples

  18. Tipos Simples

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

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

  21. 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

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

  23. Modificadores de acesso • O membros das classes podem ser definidos utilizando um dos seguintes modificadores de acesso:

  24. 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

  25. Operadores Aritméticos • Binários – atuam sobre dois operandos • Adição (+) • Subtração (-) • Multiplicação (*) • Divisão (/) • Modulus (%) • Exemplos: • x = 10 + 5; x igual a 15 • x = 10 - 5; 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

  26. 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

  27. Operadores Lógicos • Binários • Operador AND (&&) • 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

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

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

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

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

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

  33. Classes • Classes organizadas dentro de namespaces namespace Demo { classMyClass { //membros da classe } }

  34. Modificadores de Acesso

  35. Construtores • Mesmo nome da classe • Sem tipo de retorno • Podem ter ou não ter argumentos classMyClass { publicMyClass() { ... } publicMyClass(string Title) { ... } }

  36. Destrutores • Não é invocado assim que paramos de usar o objeto classMyClass { ~MyClass() { //corpo do destrutor } }

  37. Criação de Objetos publicclassMyClass { //membros da classe } MyClassobj; obj = newMyClass(); MyClassobj = newMyClass(“Título”);

  38. 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 • }

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

  40. Modificadores - Métodos • Principais modificadores utilizados para métodos em C# são: Maiores detalhes, procure no Help do VS.NET por methods [C#]

  41. Parâmetros de Métodos • 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 • publicint Soma(int Num1, int Num2) • { • return (Num1 + Num2); • }

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

  43. 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) { ... }

  44. Propriedades • Sintaxe alternativa para acesso aos membros de dados da classe public classVeiculo { private stringmodelo; public stringModelo { get { returnmodelo; } set { modelo = value; } } }

  45. Herança • Existe apenas herança simples publicclassMyClassBase { public virtual voidFunc() { //Implementação base } } public classMyClassDeriv : MyClassBase { public override sealed voidFunc() { //Sobrescreve a implementação base } }

  46. 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(); } }

  47. 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.

  48. 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.

  49. 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.

More Related