aprendendo c# do zero

51
Aprendendo C# do Zero Por: Manawydan

Upload: manawydan

Post on 12-Jan-2017

478 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: Aprendendo C# do zero

Aprendendo C# do Zero

Por: Manawydan

Page 2: Aprendendo C# do zero

INICIANDOA linguagem de Programação C#(c sharpe) é uma linguagem orientada a objetos, a mesma esta inclusa dentro do pacote .NET criada pela Microsoft.

C# é uma linguagem derivada de C++ e C, sendo assim possui algumas vantagens como, tratamento de Exceptions, sistema de classes e etc.

° Vamos utilizar o programa Visual Studio C# Express Edition 2010, para podermos testar nosso códigos, entender a linguagem e aplica-la em programas simples de console.

° É recomendado ter noções de Lógica de Programação para bom entendimento, você pode encontrar material sobre o mesmo no meu canal: https://www.youtube.com/user/manawydanbr na playlist Tutorias Lógica. Boa Sorte!

Page 3: Aprendendo C# do zero

C# Características da Sintaxe // é usado para comentário de 1 linha./* */ usado para comentários de varias linhas.; usado no final da declaração de uma variável.{ } usado para limitar o corpo de um método/classe/namespace/if e outros blocos...Não existe variável global em C# porque variáveis e métodos vão sempre depender de uma classe, pra criar uma variável qualquer primeiro precisa criar uma classe.

Page 4: Aprendendo C# do zero

Exemplo C# Sintaxe

Page 5: Aprendendo C# do zero

Criando o Primeiro Projeto Execute o Visual Studio e Crie um novo projeto, do tipo Console Application.

Você pode fazer isso clicando em: File/New Project

De um nome para ele Editando o campo Name.

Clique em Ok.

Page 6: Aprendendo C# do zero

Visão Geral Do Projeto Em BrancoSeu Projeto Deve parecer com isso:

Vamos Fazer uma analise rapida do que cada coisa significa nos próximos slides.

Page 7: Aprendendo C# do zero

namespace

°Podemos pensar em namespace como uma biblioteca que contenha classes,struturas,enumEtc...° São uteis para organizar o codigo com os elementos acima. Podemos importar namespace usando Using NomeDoNameSpace° Você pode ter percebido que estamos importando o namespace System, sendo assim nosso script tem acesso as classes do sistema° Por padrão o Visual Studio cria um novo namespace para nosso projeto

Page 8: Aprendendo C# do zero

class

°Podemos pensar em classes como sendo um objeto que contem variaveis(propriedades) e função(metodos)°No nosso caso temos uma classe chamada Program e dentro da mesma temos um metodo chamado Main, esse método em especial é chamado quando o programa inicia, e podemos passar argumentos a ele

Page 9: Aprendendo C# do zero

void e static

A palavra void é usada para métodos que não retornam valor, se quisermos que um método retorne uma string por exemplo trocamos void para string.A palavra static é usada para acessar métodos/classes sem que seja necessario criar uma instancia da mesma, métodos static só conversão com métodos static, classes static não podem ser instanciadas.

Page 10: Aprendendo C# do zero

Console.WriteLine e Console.ReadLine

O método Console.WriteLine exibi uma linha de texto no console. Podemos então escreverConsole.WriteLine("Ola, qual seu nome"). Porém temos o Console.ReadLine que guarda o que nós digitamos e espera por um Enter para prosseguir. Sendo assim sempre que quisermos ver um texto exibido com Console.WriteLinetemos que usar Console.ReadLine para termos tempo de ver o que foi exibido, segue exemplo:

Page 11: Aprendendo C# do zero

Exemplo Write/ReadLine

Podemos Testar o Código clicando em Start Debugging ou apertando F5

Page 12: Aprendendo C# do zero

Cont Exemplo Write/ReadLineCom isso em mente vamos perguntar o nome, idade da pessoa, e escrever no console.

Page 13: Aprendendo C# do zero

Problema no Exemplo 1

Talvez você não percebeu, mas quando digitamos a idade qualquer texto é aceito, e o certo seria aceita apenas números, o que fazer então?° Vamos usar o método int.TryParse que retorna true se é possivel converter uma string em numero inteiro, junto com uma verificação if.

Page 14: Aprendendo C# do zero

Resolução do Exemplo 1O int.TryParse verifica

se é possivel converter um texto

em int e se for retorna true, e ainda

retorna o numero convertido pra uma variavel passada em out, por isso criamos o int idadeEmNumero

Page 15: Aprendendo C# do zero

Operadores RelacionaisOperadores

Lua C#

Igualdade == ==Diferente ~= !=Maior que > >Menor que < <Maior ou Igual

>= >=

Menor ou Igual

<= <=Como você pode perceber os operadores relacionais de Lua e C#

são bem parecidos com exceção do Diferente.Mas eles faze a mesma coisa, retornam true se a condição for

satisfeita

Page 16: Aprendendo C# do zero

Operadores LógicosOperadores

Lua C#

E and &&OU or | |NÃO not !

Como você pode perceber os operadores lógicos de Lua e C# são bem diferentes, mas no fundo fazem a

mesma coisa:"E" retorna true se 2 condições são verdadeiras"OU" retorna true se uma de 2 condições são

verdadeiras"NÃO" retorna true se uma condição for diferente de

outra, podendo inverter seu valor

Page 17: Aprendendo C# do zero

Operadores MatemáticosOs operadores Matemáticos de Lua e C# são os mesmos, + soma, - subtrai, / divide, * multiplica, % módulo, ^ exponenciação.No entanto C# tem alguns operadores a mais:+= significa manter o valor atual e acrecentar mais um valor ex: 5+=3 soma +3 em 5 totalizando 8. -= o mesmo de cima so que agora subtrai./= divide o valor atual por outro valor, *= multiplica o valor atual por outro valor.-- subtrai 1 do valor atual, ++ adiciona +1

Page 18: Aprendendo C# do zero

Exemplo Operadores Matematicos

Page 19: Aprendendo C# do zero

Revendo if

O if em Lua e em C# e na maioria das linguagens faz a mesma coisa: verifica se uma condição é true(verdadeira) e se for então executa alguma ação, o que muda do if de Lua pra C# é que o if de C# deve ser declarado com { } abre e fecha chaves.Ex: if(1==1){Console.WriteLine("1 igual a 1, isso é verdade"); }Ou seja o then e end de Lua "seria" a chave aberta e a chave fechada.

Page 20: Aprendendo C# do zero

Else

O else de Lua e C# faz a mesma coisa: se um if falhar(sua condição ficar false) ele executa o conteúdo que esta dentro do else.A única coisa que muda é novamente as chaves { } pra limitar o corpo do else, segue um exemplo no próximo slide

Page 21: Aprendendo C# do zero

If else Exemplo C#

Page 22: Aprendendo C# do zero

Else if

Você deve ter percebido que o if junto com else, apenas funciona se uma condição é true ou false, mas e se precisarmos checar 3 tipos de possibilidade invés de só true ou false? Usamos o else if, que seria um "senão se o valor for tal", acompanhe o próximo slide.

Page 23: Aprendendo C# do zero

Else if Exemplo de uso

Page 24: Aprendendo C# do zero

Arrays

Por C# ser uma linguagem fortemente tipada, não existem arrays de valores misturados, ou seja se você cria um array de int ele só vai poder ter int e nada mais.Se você não sabe o que são arrays: são conjuntos de dados numa mesma parte da memória, simplificando " uma variavel com varios indice, onde cada indice é um novo valor".

Page 25: Aprendendo C# do zero

Exemplo de Arrays

Page 26: Aprendendo C# do zero

Loops Laços de RepetiçãoOs loops ou laços de repetição, são forma de executar o mesmo bloco de código varias vezes. Alguns laços de C#: For While ForeachNos próximos slides vamos ver exemplo de cada um.

Page 27: Aprendendo C# do zero

Loop for

Page 28: Aprendendo C# do zero

Loop while

Page 29: Aprendendo C# do zero

Loop em ArraysPodemos usar loop para percorrer arrays rapidamente, verificar os valores dentro do array, Fazer comparações entre eles, segue o próximo slide onde mostro um exemplo de como fazer isso

Page 30: Aprendendo C# do zero

Loops em Array Exemplo

Page 31: Aprendendo C# do zero

Tratamento de exceções com tryPodemos tratar exceções com try e catch, onde se alguma exceção ocorrer podemos trata-la.

Page 32: Aprendendo C# do zero

EnumPodemos considerar enum como uma lista de valores limitada e constante.

Page 33: Aprendendo C# do zero

Encapsulamento E Modificadores

Temos diferentes tipos de modificadores de acesso e encapsulamento em C#.privatepublicprotected

Page 34: Aprendendo C# do zero

public

Usando o modificador public em variaveis/métodos e afins, qualquer classe pode acessa-lo, alterar seu valor, é o nível de permissão mais "liberal".

Page 35: Aprendendo C# do zero

private

Usando o modificador private em variaveis, métodos e afins, só podem ser acessados dentro do corpo da classe que o criou, é o modificador menos "liberal".

Page 36: Aprendendo C# do zero

protected

Usando o modificador protected, o acesso do mesmo só é permitido a classe que o criou ou suas classes derivadas.

Page 37: Aprendendo C# do zero

classes

"Podemos pensar em classes como sendo um objeto que contem variaveis(propriedades) e função(metodos)".Sendo assim podemos criar "objetos" customizáveis, vamos pensar em uma classe que "simula" características de um veiculo, sendo assim esta poderá ter variáveis de modelo, placa, ano, velocidade ... e métodos como acelerar por exemplo:

Page 38: Aprendendo C# do zero

Classe exemplo Veiculo

Apesar de não aparecer as variáveis e o método são private por padrão

Page 39: Aprendendo C# do zero

Construtor de classes

Construtores são chamados sempre que uma classe é instanciada, eles são uteis para passar parâmetros na hora da criação de uma classe, sendo assim deixando o código mais flexível e atribuir valores padrão a suas variáveis.Para criar um construtor criamos um "método" do mesmo tipo da classe e passamos parametrosSegue o exemplo no proximo slide.

Page 40: Aprendendo C# do zero

Classe Veiculo com construtor

Page 41: Aprendendo C# do zero

Classe Herança

Uma classe pode herdar de outra, sendo assim a classe derivada (a classe que herdou de outra)Pode reutilizar suas variáveis, métodos ... e mudar o comportamento dos mesmos. A classe que foi herdada é chamada de base.Ex: você tem uma classe Veiculo, e então cria uma classe Carro e permite que Carro derive de Veiculo, então as característica de Veiculo são adicionadas automaticamente em Carro.

Page 42: Aprendendo C# do zero

Editando Veiculos Para melhor proveito de herança

Apenas utilizei o protected para ele ser acessivel as classes derivadas

Page 43: Aprendendo C# do zero

Classe Carro que herda de Veiculos

Os : Veiculo significa que classe Carro herda de Veiculo, e perceba que as variáveis ano e modelo e o método Acelerar são disponíveis a

classe Carro.Além disso criamos um método que pertence a Carro chamado Freiar, ou seja Carro tem o conteúdo de Veiculo + seu próprio

conteúdo .

Page 44: Aprendendo C# do zero

virtual

A palavra chave virtual é usada principalmente em métodos para serem sobrescritos nas classes derivadas usando override. Esse método virtual deve estar presente na classe base e pode ou não ser sobrescrito nas classes derivadas, o mesmo tem que ser do mesmo tipo e deve ser public veja o exemplo:

Page 45: Aprendendo C# do zero

Classe Veiculo com método virtual

Page 46: Aprendendo C# do zero

Classe Carro herda de Veiculo e sobrescreve o método Acelerar

Page 47: Aprendendo C# do zero

Classe abstract

Classes abstract são usadas normalmente para servir de classe base para outras classes, métodos abstract devem ser sobrescritos com override, classes abstract não podem ser instanciadas, os métodos abstract não podem ter "corpo" dentro da classe abstract, e seu corpo deve ser sobrescrito nas classes derivadas. Segue o exemplo:

Page 48: Aprendendo C# do zero

Exemplo Classe abstract

Page 49: Aprendendo C# do zero

Classe Quadrado herda de FormaGeometrica

Page 50: Aprendendo C# do zero

interface

Basicamente interfaces são implementações de métodos e propriedades, os métodos e propriedades de uma interface não podem possuir corpo igual a classes abstract, entretanto uma classe pode derivar de varias interfaces, e so pode derivar de uma classe, isso faz com que as interfaces sejam poderosa.Segue exemplo no próximo slide:

Page 51: Aprendendo C# do zero

Ex interface