é uma iniciativa da microsoft, que visa uma plataforma única para desenvolvimento e execução de...

47
.NET

Upload: heloisa-canela-barreto

Post on 07-Apr-2016

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: é uma iniciativa da Microsoft, que visa uma plataforma única para desenvolvimento e execução de sistemas e aplicações.  Todo e qualquer código gerado

.NET

Page 2: é uma iniciativa da Microsoft, que visa uma plataforma única para desenvolvimento e execução de sistemas e aplicações.  Todo e qualquer código gerado

é uma iniciativa da Microsoft, que visa uma plataforma única para desenvolvimento e execução de sistemas e aplicações.

 Todo e qualquer código gerado para .NET, pode ser executado em qualquer dispositivo que possua um framework de tal plataforma

Com idéia semelhante à plataforma Java, o programador deixa de escrever código para um sistema ou dispositivo específico, e passa a escrever para a plataforma .NET.

Plataforma .NET

Page 3: é uma iniciativa da Microsoft, que visa uma plataforma única para desenvolvimento e execução de sistemas e aplicações.  Todo e qualquer código gerado

A plataforma .NET é executada sobre uma Common Language Runtime - CLR (Ambiente de Execução Independente de Linguagem) interagindo com um Conjunto de Bibliotecas Unificadas (framework).

Esta CLR é capaz de executar, atualmente, mais de 20 diferentes linguagens de programação, interagindo entre si como se fossem uma única linguagem.

Processo de compilação

Page 4: é uma iniciativa da Microsoft, que visa uma plataforma única para desenvolvimento e execução de sistemas e aplicações.  Todo e qualquer código gerado

A plataforma .NET tem independência de linguagem de programação: ◦ com ela é possível trabalhar com várias

linguagens diferentes no mesmo projeto e interagir entre elas

Isso é possível por termos uma IL (Intermediate Language), ou seja, linguagem intermediária onde todos os fontes compilados resultam em uma só linguagem.

Arquitetura da plataforma .NET

Page 5: é uma iniciativa da Microsoft, que visa uma plataforma única para desenvolvimento e execução de sistemas e aplicações.  Todo e qualquer código gerado

Não existe diferença de performance entre as linguagens da plataforma◦ Pois, se existe a IL e todo fonte é convertido para

essa linguagem, a IL, consequentemente dentro da plataforma .NET todas as linguagens tem a mesma capacidade.

Arquitetura da plataforma .NET

Page 6: é uma iniciativa da Microsoft, que visa uma plataforma única para desenvolvimento e execução de sistemas e aplicações.  Todo e qualquer código gerado

MSIL (Microsoft Intermediate Language)◦ MSIL ou IL é a linguagem intermediária dita acima.

Independentemente da linguagem que você escrever seu programa quando compilado será gerado a IL.

◦ Mas repare que não é qualquer linguagem que pode ser compilada em .NET. Ela deve aderir as especificações da CLS e CTS (comentadas mais a frente) e só então e linguagem pode ser "nomeada" como XYZ.NET, assim como Python.NET, Cobol.NET etc.

Arquitetura da plataforma .NET

Page 7: é uma iniciativa da Microsoft, que visa uma plataforma única para desenvolvimento e execução de sistemas e aplicações.  Todo e qualquer código gerado

CLR (Common Language Runtime)◦ É o ambiente de execução das aplicações .NET.

◦ Este gerenciamento de memória torna o programa menos propício a erros.

Arquitetura da plataforma .NET

Page 8: é uma iniciativa da Microsoft, que visa uma plataforma única para desenvolvimento e execução de sistemas e aplicações.  Todo e qualquer código gerado

CTS (Common Type System)◦ É a definição de tipos de dados onde tudo é um

objeto e deriva da classe System.Object, que é o núcleo do sistema de tipos.

Arquitetura da plataforma .NET

Page 9: é uma iniciativa da Microsoft, que visa uma plataforma única para desenvolvimento e execução de sistemas e aplicações.  Todo e qualquer código gerado

CLS (Common Language Specification - Especificação comum de dados)

◦ Define um conjunto de regras que as linguagens que implementam a .NET devem seguir para que a CLR possa gerar a IL.

◦ Esse é um dos motivos de podermos criar sistemas em diferentes linguagens e interagir entre elas dentro da .NET.

◦ No momento da compilação é gerado um código único intermediário (IL) e todas essas linguagens suportadas pela .NET seguem as regras da CLS, para que depois de gerado a IL, ela seja interpretada corretamente pela CLR, como já dito acima.

Arquitetura da plataforma .NET

Page 10: é uma iniciativa da Microsoft, que visa uma plataforma única para desenvolvimento e execução de sistemas e aplicações.  Todo e qualquer código gerado

BCL (Base Classe Library - Biblioteca de Classe Base)

◦ Como o próprio nome diz, na biblioteca de classe base você encontra sistema de janelas, biblioteca de entrada/saída de dados, sockets, gerenciamento de memória, etc.

◦ Esta biblioteca é organizada em uma estrutura conhecida como namespace, ou seja, imagine que você precise atribuir um nome ao seu componente para que o mesmo possa ser referenciado a partir de outro programa.

Arquitetura da plataforma .NET

Page 11: é uma iniciativa da Microsoft, que visa uma plataforma única para desenvolvimento e execução de sistemas e aplicações.  Todo e qualquer código gerado

System:Contém algumas classes de baixo nível usadas para trabalhar com tipos primitivos, operações matemáticas, gerenciamento de memória etc.

System.Collections:Contém pilhas, filhas e listas encadeadas.

System.Data, System.Data.Common, System.Data.OleDb, System.Data.SqlClient:Acesso a base de dados. Aqui também se encontra o ADO.NET

System.IO:Biblioteca para lidar com entrada e saída, gerenciamento de arquivos etc. 

Arquitetura da plataforma .NET

Page 12: é uma iniciativa da Microsoft, que visa uma plataforma única para desenvolvimento e execução de sistemas e aplicações.  Todo e qualquer código gerado

System.NET:Bibliotecas para programação de redes, sockets etc.

System.Security:Criptografia, permissão e todo o suporte referente à segurança.

System.Threading:Biblioteca para aplicações multithread

System.Web:Biblioteca sobre tudo relacionado a Web, como Webservices, ASP.NET etc.

System.Windows.Forms:Bibliotecas para o desenvolvimento de aplicações Windows tradicionais.

System.XML:Biblioteca que permite a interação com documentos XML.

Arquitetura da plataforma .NET

Page 13: é uma iniciativa da Microsoft, que visa uma plataforma única para desenvolvimento e execução de sistemas e aplicações.  Todo e qualquer código gerado

Assembly◦ Toda aplicação .NET, quando compilada, é

armazenada fisicamente numa unidades de código denominada assembly.

◦ Uma aplicação pode ser composta de um ou mais assemblies, os quais são representados no sistema de arquivos de sistema operacional host na forma de arquivos executáveis, de extensão .EXE, ou de uma biblioteca de ligação dinâmica melhor conhecida como DLL, de extensão .DLL

Arquitetura da plataforma .NET

Page 14: é uma iniciativa da Microsoft, que visa uma plataforma única para desenvolvimento e execução de sistemas e aplicações.  Todo e qualquer código gerado

Compilação JIT (Just in Time)

◦ O compilador JIT, também conhecido como JITTER, converte as instruções da IL para instruções específicas da arquitetura do processador onde a aplicação .NET esta sendo executada.

Arquitetura da plataforma .NET

Page 15: é uma iniciativa da Microsoft, que visa uma plataforma única para desenvolvimento e execução de sistemas e aplicações.  Todo e qualquer código gerado

GC (Garbage Collector - Coletor de Lixo)◦ Gerenciar memória não deve ser uma preocupação de quem desenvolve

sistemas para tratar sobre regras de negócio e com .NET você não precisa se preocupar com o gerenciamento de memória porque o GC faz isso pra você.

◦ Quando uma área de memória não esta mais em uso, o GC trata de liberá-la. E quando necessário a utilização de um novo espaço o GC também faz isso pra você.

◦ Não é por isso que você deixará de finalizar seus objetos, mas caso isso aconteça (esta é a pior das hipóteses) o GC tratará este caso.

◦Apesar de que mesmo você não trabalhando com C/C++, em .NET você também poderá gerenciar memória o que torna o desempenho maior. Em contrapartida é considerado um método inseguro, conhecido como "unsafe code”

Arquitetura da plataforma .NET

Page 16: é uma iniciativa da Microsoft, que visa uma plataforma única para desenvolvimento e execução de sistemas e aplicações.  Todo e qualquer código gerado

A linguagem C#

Page 17: é uma iniciativa da Microsoft, que visa uma plataforma única para desenvolvimento e execução de sistemas e aplicações.  Todo e qualquer código gerado

 é uma linguagem de programação orientada a objetos desenvolvida pela Microsoft como parte da plataforma .NET. A sua sintaxe orientada a objectos foi baseada no C++ mas inclui muitas influências de outras linguagens de programação, como Java.

criada praticamente do zero para funcionar na plataforma .NET

C#

Page 18: é uma iniciativa da Microsoft, que visa uma plataforma única para desenvolvimento e execução de sistemas e aplicações.  Todo e qualquer código gerado

C# suporta ponteiros através da palavra reservada unsafe (código não-seguro), que é obrigatório.

Seu uso não é aconselhável, e blocos de códigos que o usam geralmente requisitam permissões mais altas de segurança para poderem ser executados

Características

Page 19: é uma iniciativa da Microsoft, que visa uma plataforma única para desenvolvimento e execução de sistemas e aplicações.  Todo e qualquer código gerado

Em C# não existe herança múltipla, ou seja, cada classe só pode herdar apenas de uma outra classe e não mais do que uma, no entanto é possível simular herança múltipla utilizando interfaces.

Características

Page 20: é uma iniciativa da Microsoft, que visa uma plataforma única para desenvolvimento e execução de sistemas e aplicações.  Todo e qualquer código gerado

Passagem de parâmetros◦ Há três tipos de passagem de parâmetros em C#,

por valor, por referência e por saída.

◦ Por padrão todo objeto e vetor são passados por referência

◦ Para se forçar a passagem por referência, tanto a chamada do método como a declaração dele devem estar com os argumentos e parâmetros precedidos pelas palavras reservadas ou ref ou out

Características

Page 21: é uma iniciativa da Microsoft, que visa uma plataforma única para desenvolvimento e execução de sistemas e aplicações.  Todo e qualquer código gerado

ref◦ usado para se manipular um parâmetro já

inicializado antes da chamada do método, de forma a somente editá-lo.

out◦ usado para se inicializar um parâmetro durante a

execução do método, retornando o resultado para o método que o chamou.

Características

Page 22: é uma iniciativa da Microsoft, que visa uma plataforma única para desenvolvimento e execução de sistemas e aplicações.  Todo e qualquer código gerado

Tipos de dados

bool que o tipo lógico

Page 23: é uma iniciativa da Microsoft, que visa uma plataforma única para desenvolvimento e execução de sistemas e aplicações.  Todo e qualquer código gerado

Programa Simples

Page 24: é uma iniciativa da Microsoft, que visa uma plataforma única para desenvolvimento e execução de sistemas e aplicações.  Todo e qualquer código gerado

Comandos condicionais

Podemos usar os operadores && e ||

If ... else

Page 25: é uma iniciativa da Microsoft, que visa uma plataforma única para desenvolvimento e execução de sistemas e aplicações.  Todo e qualquer código gerado

Comandos condicionais

switch ... case

Page 26: é uma iniciativa da Microsoft, que visa uma plataforma única para desenvolvimento e execução de sistemas e aplicações.  Todo e qualquer código gerado

Comandos de Repetiçãowhile

Page 27: é uma iniciativa da Microsoft, que visa uma plataforma única para desenvolvimento e execução de sistemas e aplicações.  Todo e qualquer código gerado

Comandos de Repetiçãodo ... while

Page 28: é uma iniciativa da Microsoft, que visa uma plataforma única para desenvolvimento e execução de sistemas e aplicações.  Todo e qualquer código gerado

Comandos de Repetiçãofor

Page 29: é uma iniciativa da Microsoft, que visa uma plataforma única para desenvolvimento e execução de sistemas e aplicações.  Todo e qualquer código gerado

Comandos de Repetição

advertência: a referência retornada pelo laço foreach é somente leitura

foreach

Page 30: é uma iniciativa da Microsoft, que visa uma plataforma única para desenvolvimento e execução de sistemas e aplicações.  Todo e qualquer código gerado

foreach

Não funciona

Page 31: é uma iniciativa da Microsoft, que visa uma plataforma única para desenvolvimento e execução de sistemas e aplicações.  Todo e qualquer código gerado

Tudo em .NET são classes◦ Principal unidade da plataforma

Existem dois tipos de classes◦ Classes executaveis

Método main estático

◦ Classes não executaveis

Pontos importantes do exemplo

Page 32: é uma iniciativa da Microsoft, que visa uma plataforma única para desenvolvimento e execução de sistemas e aplicações.  Todo e qualquer código gerado

Escreva um programa que lê dois números inteiros e retorne o produto destes dois números. Não é permitido usar o sinal de multiplicação * ou x.

Exercícios

Page 33: é uma iniciativa da Microsoft, que visa uma plataforma única para desenvolvimento e execução de sistemas e aplicações.  Todo e qualquer código gerado

A orientação a objetos é um paradigma de análise, projeto e programação de sistemas de software baseado na composição e interação entre diversas unidades de software chamadas de objetos (Wikipédia).

Orientação a Objetos

Page 34: é uma iniciativa da Microsoft, que visa uma plataforma única para desenvolvimento e execução de sistemas e aplicações.  Todo e qualquer código gerado

Classes◦ Métodos◦ Atributos◦ Contrutores

Objetos

Abstração◦ uma classe é uma abstração de entidades existentes no

domínio do sistema de software

Encapsulamento

Orientação a Objetos

Page 35: é uma iniciativa da Microsoft, que visa uma plataforma única para desenvolvimento e execução de sistemas e aplicações.  Todo e qualquer código gerado

Herança Polimorfismo Interface

Orientação a Objetos

Page 36: é uma iniciativa da Microsoft, que visa uma plataforma única para desenvolvimento e execução de sistemas e aplicações.  Todo e qualquer código gerado

Representa um conjunto de objetos com características comuns.

Uma classe define estado e comportamento de um Objeto geralmente implementando métodos e atributos.

Exemplo de classe: Os seres humanos, os animais e etc.

Classes

Page 37: é uma iniciativa da Microsoft, que visa uma plataforma única para desenvolvimento e execução de sistemas e aplicações.  Todo e qualquer código gerado

Membros de uma classe:◦ Atributos – caracteristicas do objeto

◦ Métodos – ações que o objeto é capaz de executar

◦ Construtores – inicializa o objeto

◦ Destrutor – destrói o objeto com Java e C# isto é realizado de modo automático

pelo Garbage collector.

Classes

Page 38: é uma iniciativa da Microsoft, que visa uma plataforma única para desenvolvimento e execução de sistemas e aplicações.  Todo e qualquer código gerado

Classes em C#

atributos

método

construtor

Page 39: é uma iniciativa da Microsoft, que visa uma plataforma única para desenvolvimento e execução de sistemas e aplicações.  Todo e qualquer código gerado

Instanciando uma Classe

Page 40: é uma iniciativa da Microsoft, que visa uma plataforma única para desenvolvimento e execução de sistemas e aplicações.  Todo e qualquer código gerado

O que é encapsulamento?

Qual sua importância?

Encapsulamento

Page 41: é uma iniciativa da Microsoft, que visa uma plataforma única para desenvolvimento e execução de sistemas e aplicações.  Todo e qualquer código gerado

Exemplo

Page 42: é uma iniciativa da Microsoft, que visa uma plataforma única para desenvolvimento e execução de sistemas e aplicações.  Todo e qualquer código gerado

O que está errado neste programa?

Instanciando a Classe Pessoa

Page 43: é uma iniciativa da Microsoft, que visa uma plataforma única para desenvolvimento e execução de sistemas e aplicações.  Todo e qualquer código gerado

Encapsulamento em C#

Page 44: é uma iniciativa da Microsoft, que visa uma plataforma única para desenvolvimento e execução de sistemas e aplicações.  Todo e qualquer código gerado

Solução para o problema da idade

Page 45: é uma iniciativa da Microsoft, que visa uma plataforma única para desenvolvimento e execução de sistemas e aplicações.  Todo e qualquer código gerado

Encapsulamento em C#

Page 46: é uma iniciativa da Microsoft, que visa uma plataforma única para desenvolvimento e execução de sistemas e aplicações.  Todo e qualquer código gerado

Construa um programa que contenha uma classe chamada Conta, com os seguintes atributos:◦ nome do cliente ◦ numero da conta◦ o saldo◦ o limite◦ salário do cliente.

Estes valores deverão ser informados no construtor, sendo que o limite não podera ser maior que o valor do salário mensal do cliente.

Faça um método depositar e um metodo retirar.

Faça um método saldo que retorne o saldo do cliente.

Exercício

Page 47: é uma iniciativa da Microsoft, que visa uma plataforma única para desenvolvimento e execução de sistemas e aplicações.  Todo e qualquer código gerado

Agora contrua um programa com as seguintes opções:

1 – Criar conta 2 – Excluir Conta 3 – Procurar Conta

Exercício