introdução ao c# raniere ferreira do prado. o que é c#? equipe de desenvolvimento formada por...

30
Introdução ao C# RANIERE FERREIRA DO PRADO

Upload: armando-diogo-barateiro-eger

Post on 07-Apr-2016

221 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Introdução ao C# RANIERE FERREIRA DO PRADO. O que é C#?  Equipe de desenvolvimento formada por Anders Hejlsberg (criador do Turbo Pascal e Delphi);

Introdução ao C#RANIERE FERREIRA DO PRADO

Page 2: Introdução ao C# RANIERE FERREIRA DO PRADO. O que é C#?  Equipe de desenvolvimento formada por Anders Hejlsberg (criador do Turbo Pascal e Delphi);

O que é C#?

Equipe de desenvolvimento formada por Anders Hejlsberg (criador do Turbo Pascal e Delphi);

Apresentado para o publico em 2000 na Professional Developers Conference (PDC);

O nome foi idealizado a partir da linguagem C adicionando o #, que se refere ao sinal musical “#” (sustenido);

Padronizada pela ISO (ISO/IEC 23270) e ECMA; Grande influencias do Java, C++ e Delphi; Usada pela Microsoft para escrever Class Libraries (inclusive o

Framework .NET) e o Runtime de ASP.NET.

Raniere Ferreira do Prado
Entonação acima do comum
Page 3: Introdução ao C# RANIERE FERREIRA DO PRADO. O que é C#?  Equipe de desenvolvimento formada por Anders Hejlsberg (criador do Turbo Pascal e Delphi);

Framework .NET

Iniciativa que visa uma plataforma única para desenvolvimento e execução de sistemas e aplicações;

Ideia semelhante ao Java: Possui uma “maquina virtual” utilizada para executar em qualquer

sistema operacional (Windows, Linux ou Mac)

Page 4: Introdução ao C# RANIERE FERREIRA DO PRADO. O que é C#?  Equipe de desenvolvimento formada por Anders Hejlsberg (criador do Turbo Pascal e Delphi);

C# - Aprendendo com a experiência

Moderna; Totalmente orientada a objetos; Simples e flexível; Gerenciamento automático de memória; Type Safety.

Page 5: Introdução ao C# RANIERE FERREIRA DO PRADO. O que é C#?  Equipe de desenvolvimento formada por Anders Hejlsberg (criador do Turbo Pascal e Delphi);

Por que aprender C#?

Linguagem projetada especificamente para a plataforma .NET; Sintaxe simples e fácil; Grande parte das classes do .NET Framework foram

desenvolvidas em C#.

Page 6: Introdução ao C# RANIERE FERREIRA DO PRADO. O que é C#?  Equipe de desenvolvimento formada por Anders Hejlsberg (criador do Turbo Pascal e Delphi);

Vantagens e Desvantagens

Vantagens DesvantagensRobusta e com boa performance;Tratamento de Erros;Manipula banco de dados;Roda em qualquer plataforma;Totalmente orientada a objetos.

Difícil aprendizado para programadores antigos;Componentes antigos precisam ser reescritos.

Page 7: Introdução ao C# RANIERE FERREIRA DO PRADO. O que é C#?  Equipe de desenvolvimento formada por Anders Hejlsberg (criador do Turbo Pascal e Delphi);

IDE’s

São Ambientes de desenvolvimento; Reúne ferramentas de apoio ao desenvolvimento em uma ou mais

linguagens de desenvolvimento; Utilizadas com a finalidade de compilar o código-fonte do programa em

linguagem de máquina; Mais utilizadas para C#:

Microsoft Visual Studio .NET; Borland Delphi; ASP .NET WebMatrix; #develop; Eclipse for C#; ...

Page 8: Introdução ao C# RANIERE FERREIRA DO PRADO. O que é C#?  Equipe de desenvolvimento formada por Anders Hejlsberg (criador do Turbo Pascal e Delphi);

Um pouco de ação

using System;

class HelloWorld{ public static void Main(string[] args){

Console.WriteLine("Boa Noite!"); Console.ReadLine();

} }

Page 9: Introdução ao C# RANIERE FERREIRA DO PRADO. O que é C#?  Equipe de desenvolvimento formada por Anders Hejlsberg (criador do Turbo Pascal e Delphi);

Orientação a objetos

O ser humano se relaciona com o mundo através do conceito de objetos.

Estamos sempre identificando qualquer objeto ao nosso redor.

Para isso lhe damos nomes, e de acordo com suas características lhes classificamos em grupos, ou seja, classes.

Page 10: Introdução ao C# RANIERE FERREIRA DO PRADO. O que é C#?  Equipe de desenvolvimento formada por Anders Hejlsberg (criador do Turbo Pascal e Delphi);

Características

Identidade

Classificação

Hereditariedade

Encapsulamento

Polimorfismo

Page 11: Introdução ao C# RANIERE FERREIRA DO PRADO. O que é C#?  Equipe de desenvolvimento formada por Anders Hejlsberg (criador do Turbo Pascal e Delphi);

Exemplo Classe e Objeto

Classe É a classificação do objeto.

Objetos: É uma instancia da classe, quando um objeto se torna real, passa a

ter uma identidade.

Page 12: Introdução ao C# RANIERE FERREIRA DO PRADO. O que é C#?  Equipe de desenvolvimento formada por Anders Hejlsberg (criador do Turbo Pascal e Delphi);

Orientação a Objetos

Objetos do mundo real possuem duas características: Estado Comportamento

No exemplo anterior os estados são os atributos (ano de fabricação, tipo e nome), e os comportamentos é o que foi atribuído aos atributos (2015, Carro e Celta)

Page 13: Introdução ao C# RANIERE FERREIRA DO PRADO. O que é C#?  Equipe de desenvolvimento formada por Anders Hejlsberg (criador do Turbo Pascal e Delphi);

Orientação a Objetos

Objetos também possuem métodos, que são procedimentos para manipular atributos.

No exemplo abaixo, nossa classe possui um método que adiciona tempo ao ano de fabricação:

Page 14: Introdução ao C# RANIERE FERREIRA DO PRADO. O que é C#?  Equipe de desenvolvimento formada por Anders Hejlsberg (criador do Turbo Pascal e Delphi);

Encapsulamento É utilizado para proteger o atributo, permitindo que ele seja

alterado ou consultado apenas através de métodos. Pode ser utilizado para que antes que o valor do atributo for

alterado, seja verificado se o conteúdo que será adicionado é válido.

No exemplo, só é atribuído valor ao ano de venda se o mesmo for igual ou superior a 1900.

Page 15: Introdução ao C# RANIERE FERREIRA DO PRADO. O que é C#?  Equipe de desenvolvimento formada por Anders Hejlsberg (criador do Turbo Pascal e Delphi);

Herança

É quando uma classe herda atributos e métodos de uma classe diferente.

Uma classe pode herdar de várias classes. No exemplo abaixo, a classe Carro herda todos os atributos e

métodos da classe Veiculo.

Page 16: Introdução ao C# RANIERE FERREIRA DO PRADO. O que é C#?  Equipe de desenvolvimento formada por Anders Hejlsberg (criador do Turbo Pascal e Delphi);

Polimorfismo

A possibilidade de redefinir um método em classes herdeiras. O polimorfismo é a possibilidade de o método ter função

diferente na classe herdeira. No exemplo abaixo, há um polimorfismo no construtor da classe

Carro e no construtor da classe Veiculo.

Page 17: Introdução ao C# RANIERE FERREIRA DO PRADO. O que é C#?  Equipe de desenvolvimento formada por Anders Hejlsberg (criador do Turbo Pascal e Delphi);

Sobrecarga de métodos

Permite a existência de vários métodos com o mesmo nome, mas com assinaturas (parâmetros) diferentes.

Os métodos podem executar funções diferentes, mesmo possuindo o mesmo nome.

Page 18: Introdução ao C# RANIERE FERREIRA DO PRADO. O que é C#?  Equipe de desenvolvimento formada por Anders Hejlsberg (criador do Turbo Pascal e Delphi);

Estrutura Condicional

São trechos do código que serão executados dependendo da veracidade de uma condição.

Os comandos contidos nos delimitadores da condição, serão executados apenas quando a condição for atendida.

São a base para a estrutura de repetição, que veremos posterior mente.

Os mais comuns são: Instrução se ... senão (if ... else). Expressões condicionais aninhadas. Declaração switch (a declaração switch também é conhecida como

declaração de controle). É a estrutura mais utilizada pelos desenvolvedores.

Page 19: Introdução ao C# RANIERE FERREIRA DO PRADO. O que é C#?  Equipe de desenvolvimento formada por Anders Hejlsberg (criador do Turbo Pascal e Delphi);

Estrutura Condicional – Operadores

Para a verificação das condições, devemos utilizar os operadores, são eles: “==“ verifica se um valor / variável é igual a outro valor / variável:

1==2 verifica se o valor 1 é igual ao valor 2. “!=“ verifica se um valor / variável é diferente a outro valor / variável:

1!=2 verifica se o valor 1 é diferente ao valor 2. “<“ verifica se o primeiro valor / variável é menor ao segundo valor / variável:

1<2 verifica se o valor 1 é menor ao valor 2. “>” verifica se o primeiro valor / variável é maior ao segundo valor / variável:

1>2 verifica se o valor 1 é maior ao valor 2. “<=“verifica se o primeiro valor / variável é menor ou igual ao segundo valor / variável:

1<=2 verifica se o valor 1 é menor ou igual ao valor 2. “>=“verifica se o primeiro valor / variável é maior ou igual ao segundo valor / variável:

1>=2 verifica se o valor 1 é maior ou igual ao valor 2.

Page 20: Introdução ao C# RANIERE FERREIRA DO PRADO. O que é C#?  Equipe de desenvolvimento formada por Anders Hejlsberg (criador do Turbo Pascal e Delphi);

Estrutura Condicional – Concatenadores e Operação de Negação

Caso seja necessário a verificação de duas ou mais condições, podemos concatenar as condições utilizando os operadores: “||” para quando apenas uma das condições seja verdadeira. “&&” para quando todas as condições sejam verdadeiras.

Operação de negação é utilizado quando se faz necessário alterar o resultado da condição.

É representado pelo símbolo “!”. Para negar uma condição basta acrescentar o símbolo antes da condição:

!1==2 neste caso estamos negando a condição, caso o resultado da condição seja verdadeira, o mesmo se tornará falso.

!(1<2 && 1>2) neste caso estamos negando a concatenação das duas condições.

Page 21: Introdução ao C# RANIERE FERREIRA DO PRADO. O que é C#?  Equipe de desenvolvimento formada por Anders Hejlsberg (criador do Turbo Pascal e Delphi);

Estrutura Condicional – Se ... Senão

Exemplo de utilização:

A estrutura também pode ser realizada em mais de um bloco:

Page 22: Introdução ao C# RANIERE FERREIRA DO PRADO. O que é C#?  Equipe de desenvolvimento formada por Anders Hejlsberg (criador do Turbo Pascal e Delphi);

Estrutura Condicional – Expressões Aninhadas

As expressões aninhadas são utilizadas para criar uma condição em apenas uma linha, não necessitando utilizar toda a estrutura de um if ... else:

No exemplo acima, a condição é representada pelo x > 1. Caso a condição seja atendida, todas as operações posteriores ao

símbolo “?” e antes do símbolo “:” será executada. Caso contrario apenas a expressão após o símbolo “:” será

executado.

Page 23: Introdução ao C# RANIERE FERREIRA DO PRADO. O que é C#?  Equipe de desenvolvimento formada por Anders Hejlsberg (criador do Turbo Pascal e Delphi);

Estrutura Condicional – Declaração Switch

É uma declaração de controle que executa os comandos de uma seção a partir de uma lista de candidatos:

Caso nenhum candidato seja satisfeito, a declaração executa os comandos na seção “default”.

Page 24: Introdução ao C# RANIERE FERREIRA DO PRADO. O que é C#?  Equipe de desenvolvimento formada por Anders Hejlsberg (criador do Turbo Pascal e Delphi);

Array (Lista)

Há casos em que necessitamos de uma quantidade desconhecida de objetos, para resolver este problema, utilizamos o Array ou Lista.

Como o C# é uma linguagem fortemente tipada, é muito fácil utilizar uma lista, no exemplo abaixo, criamos uma lista e instanciamos a mesma:

O objeto que poderá ser inserido na lista é indicado dentro dos símbolos “<>”.

De tipos primitivos (como int, string ou bool) a objetos complexo (criados pelo usuário) podem ser determinados na criação da lista.

Page 25: Introdução ao C# RANIERE FERREIRA DO PRADO. O que é C#?  Equipe de desenvolvimento formada por Anders Hejlsberg (criador do Turbo Pascal e Delphi);

Array (Lista)

Comandos mais utilizados: Lista.Add(item); Adiciona um novo item na lista. Lista.Remove(item); Remove o item informado da lista. Lista.RemoveAt(n); Remove o item de posição n da lista. Lista.Contains(item); Verifica se o item informado existe na lista.

Page 26: Introdução ao C# RANIERE FERREIRA DO PRADO. O que é C#?  Equipe de desenvolvimento formada por Anders Hejlsberg (criador do Turbo Pascal e Delphi);

Estrutura de Repetição

As estruturas de repetição são usadas para controlar a execução de códigos repetidamente até que uma condição seja verdadeira.

Muito utilizado para percorrer lista, ou executar um trecho do código várias vezes.

Os tipos de estrutura de repetição mais utilizados são: for while do ... While foreach

Page 27: Introdução ao C# RANIERE FERREIRA DO PRADO. O que é C#?  Equipe de desenvolvimento formada por Anders Hejlsberg (criador do Turbo Pascal e Delphi);

Estrutura de Repetição - for

O laço for trabalha chegando uma condição para executar um bloco de código ate que essa condição seja verdadeira.

Mais comumente utilizado em conjunto com um contador. Em sua syntax devemos declarar uma inicialização, sua condição

e seu incremento:

No código acima temos a variável de auxilio “i” (o contador, a(s) condições que deve(m) ser atendida(s) “i <= x”, e seu incremento.

Page 28: Introdução ao C# RANIERE FERREIRA DO PRADO. O que é C#?  Equipe de desenvolvimento formada por Anders Hejlsberg (criador do Turbo Pascal e Delphi);

Estrutura de Repetição - foreach

O foreach é utilizado apenas para listas, onde ele irá percorrer todos os itens da lista.

Sua syntax deve conter o tipo do item contido na lista, um nome para o objeto que receberá o item atual e a lista em questão:

O bloco de comandos dentro da estrutura do foreach será executada n vezes, onde n é o numero de itens da lista.

Page 29: Introdução ao C# RANIERE FERREIRA DO PRADO. O que é C#?  Equipe de desenvolvimento formada por Anders Hejlsberg (criador do Turbo Pascal e Delphi);

Estrutura de Repetição - while

A estrutura while é mais simples de ser entendido, pois sua syntax não requer que você informe uma variável de controle como a estrutura for.

No laço while, apenas colocamos a condição que queremos testar:

Neste caso testamos se a variável (x) é menor que a variável y, caso, a condição seja atendida, o bloco de comando é executado até que a condição não seja atendida.

Page 30: Introdução ao C# RANIERE FERREIRA DO PRADO. O que é C#?  Equipe de desenvolvimento formada por Anders Hejlsberg (criador do Turbo Pascal e Delphi);

Estrutura de Repetição – do ... while

A estrutura do ... while tem o mesmo funcionamento da estrutura while, tendo como diferencial apenas que os comandos dentro de seu bloco seja executado pelo menos uma vez quando a condição não seja atendida de inicio.

No exemplo acima os comandos contidos no bloco do ... while serão executados uma vez, já que a condição nunca será atendida.