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

Post on 07-Apr-2016

214 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

.NET

é 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

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

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

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

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

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

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

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

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

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

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

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

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

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

A linguagem C#

 é 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#

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

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

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

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

Tipos de dados

bool que o tipo lógico

Programa Simples

Comandos condicionais

Podemos usar os operadores && e ||

If ... else

Comandos condicionais

switch ... case

Comandos de Repetiçãowhile

Comandos de Repetiçãodo ... while

Comandos de Repetiçãofor

Comandos de Repetição

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

foreach

foreach

Não funciona

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

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

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

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

Herança Polimorfismo Interface

Orientação a Objetos

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

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

Classes em C#

atributos

método

construtor

Instanciando uma Classe

O que é encapsulamento?

Qual sua importância?

Encapsulamento

Exemplo

O que está errado neste programa?

Instanciando a Classe Pessoa

Encapsulamento em C#

Solução para o problema da idade

Encapsulamento em C#

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

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

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

Exercício

top related