PADI 2015/16. Aula 1 Introdução à Plataforma.NET

Documentos relacionados
Framework.NET (2/2) Sumário. A Linguagem C# Introdução. A Linguagem C# Exemplos (1/2) Plataforma.NET Características Gerais. Framework.

Fundament n os s da platafo f rm r a. NE N T André Menegassi

Seminário - C# DSO II. Desenvolvimento de Sistemas Orientados a Objetos 2. Equipe: Diorges, Leonardo, Luís Fernando, Ronaldo

Framework.NET, Microsoft Visual C# 2010 Express e Elementos da Linguagem C#

Introdução ao Desenvolvimento.NET Paulo Sousa

GRUPO: Igor de Oliveira Nunes Mateus Tassinari Ferreira Renan Sarcinelli

Desenvolvimento ASP.net

Professor: Douglas Sousa Cursos de Computação

A interface do Microsoft Visual Studio 2005

Parte I Princípios básicos do Microsoft.NET Framework

Programando em C# Orientado a Objetos. By: Maromo

Alfamídia Programação: Desenvolvendo com C#

Trabalho Prático Nº1 Introdução ao C#.NET

Treinar - Cursos e Treinamentos C# Módulo I. Carga horária: 32 Horas

Professor Leo Larback Esta apresentação pode ser baixada livremente no site

Curso Adonai QUESTÕES Disciplina Linguagem JAVA

Web Services Novembro de 2011

Introdução ao C# . Visão geral do.net Framework

Universidade da Beira Interior Cursos: Matemática /Informática e Ensino da Informática

CONCEITOS DE LINGUAGEM DE PROGRAMAÇÃO CARACTERÍSTICAS. João Gabriel Ganem Barbosa

Programação por Objectos. Java

Aula 09 Introdução à Java. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes

Ambiente de Programação Visual. Framework.NET. Prof. Mauro Lopes. Ambiente de Programação Visual Prof. Mauro Lopes

Introdução ao Desenvolvimento.NET

Programação por Objectos. Java

Programação por Objectos. Java

Módulo 06 Desenho de Classes

Linguagem de Programação Procedural (VB) Prof. MSc Eng Marcelo Bianchi AULA 01 - INTRODUÇÃO AO VB

DESENVOLVIMENTO DE SOFTWARE AULA 1

Material III-Bimestre Introdução e conceitos fundamentais da Linguagem C#

Como Programar com. ASP.NET e C# Alfredo Lotar. Novatec

Programação para Dispositivos Móveis Aula 1. Prof. William Yamamoto

Principais características

Apostila de C# & Asp.Net

CCT0416 PROGRAMAÇÃO I

Comandos de repetição For (inicialização; condição de execução; incremento/decremento) { //Código }

Guia do Programador Joel Saade

Ambiente de Programação Visual. Framework.NET. Prof. Mauro Lopes. Ambiente de Programação Visual Prof. Mauro Lopes

ASP.NET. Guia do Desenvolvedor. Felipe Cembranelli. Novatec Editora.

Unidade IV: Ponteiros, Referências e Arrays

ESQUEMA AULA PRÁTICA 1 Familiarização com o Ambiente de Desenvolvimento NetBeans Introdução à Linguagem de Programação JAVA

Tabelas (arrays) (vetores, matrizes, etc) Algoritmos de pesquisa Algoritmos de ordenação

Programação de Computadores - I. Profª Beatriz Profº Israel

Java. Marcio de Carvalho Victorino

Algoritmos e Programação

Programação Orientada a Objetos em Java

ESQUEMA AULA PRÁTICA 1 Familiarização com o Ambiente de Desenvolvimento Eclipse Introdução à Linguagem de Programação JAVA

Programação Estruturada I

Algoritmia e Programação APROG. Linguagem JAVA. Básico. Nelson Freire (ISEP DEI-APROG 2012/13) 1/31

PRDS C#.Net Alexandre L. Silva

Como acompanhar a evolução dos aplicativos? Console >> Desktop >> Web >> Mobile >> Cloud. Como aproveitar o melhor de cada programador?

Programação Orientada a Objetos C++

Uma Introdução à Arquitetura CORBA. O Object Request Broker (ORB)

Noções sobre Objetos e Classes

Curso de Java. Orientação a objetos e a Linguagem JAVA. TodososdireitosreservadosKlais

Paradigmas da Programação PPROG. Linguagem JAVA. Interfaces. (Livro Big Java, Late Objects Capítulo 9) Nelson Freire (ISEP DEI-PPROG 2013/14) 1/33

Programação Orientada a Objetos

Introdução à Programação. Programação Imperativa (Registros X Classes e Métodos Nativos )

A Linguagem Java. Alberto Costa Neto DComp - UFS

Introdução a POO. Introdução a Linguagem C++ e POO

JavaScript 2.0X X

Aula 1. // exemplo1.cpp /* Incluímos a biblioteca C++ padrão de entrada e saída */ #include <iostream>

Relacionamentos entre objetos. Relacionamentos entre objetos. Relacionamentos entre objetos. Relacionamentos entre objetos

insfcanceof new public switch transient while byte continue extends for int null

2 Orientação a objetos na prática

Elementos da Linguagem C#

3 Classes e instanciação de objectos (em Java)

Sintaxe Geral Tipos de Dados. Prof. Angelo Augusto Frozza, M.Sc.

Introdução à linguagem

Universidade Federal de Uberlândia

Técnicas de Programação II

Fundamentos de Programação II. Introdução à linguagem de programação C++

BSI UFRPE Prof. Gustavo Callou

Linguagens de Programação ( Microsoft Visual C# )

Programação Engenharia Informática (11543) 1º ano, 1º semestre Tecnologias e Sistemas de Informação (6619) 1º ano, 1º semestre

AULA DE JAVA 1 - CONCEITOS BÁSICOS

A Introdução à Programação Orientada a Objetos. Programação e Sistemas de Informação

Guia do Programador Joel Saade

Introdução a Programação

Linguagem de Programação III

Universidade da Beira Interior Cursos: Engenharia Informática, Matemática /Informática e Ensino da Informática

Java - Introdução. Professor: Vilson Heck Junior. vilson.junior@ifsc.edu.br

INTRODUÇÃO AO C++ SISTEMAS DE INFORMAÇÃO DR. EDNALDO B. PIZZOLATO

Algoritmo e Técnica de Programação - Linguagem C

A Linguagem Java. Apresentação. Java. A Linguagem da Internet

Lição 9 Trabalhando com bibliotecas de classes

Sintaxe Básica de Java Parte 1

Programação Orientada a Objetos

Introdução à Programação Orientada a Objetos. Programação e Sistemas de Informação

Programação Na Web. Linguagem Java Parte II. break com o nome do bloco. Sintaxe. Nome do bloco. Termina o bloco. António Gonçalves ...

PROGRAMAÇÃO ORIENTADA A OBJETOS I. Prof. Me. Hélio Esperidião

Programação por Objectos. Java

Capítulo 4. Packages e interfaces

Conceitos de Linguagens de Programação

PROGRAMAÇÃODE COMPUTADORES I:C# LuizHenriqueC.Corêa

a Baseado no Capítulo 5 de Inside the Virtual Machine, por Bill Vernners.

TIPOS PARAMETRIZADOS CLASSES GENÉRICAS PARTE I

Transcrição:

PADI 2015/16 Aula 1 Introdução à Plataforma.NET 1

Sumário 1. Framework.NET Arquitectura 2. Linguagem C# 2.0 Sintaxe C# vs. Java vs. C++ 3. IDE: MS Visual Studio 2005 ou superior Ferramentas Console/Win Form Applications 2

1. Framework.NET Introdução Arquitectura 3

Arquitectura da Framework.NET Microsoft Visual Basic.NET C++ C# Windows Microsoft JScript Common Language Specification Framework Class Library Common Language Runtime LINUX Microsoft Visual Studio.NET 4

Common Language Runtime Ambiente de execução Gestão de memória Garbage collection Comon type system object value types Tipos primitivos (int, double, ) Alocados na pilha Atribuições copiam valores Libertados no fim dos blocos User-defined: struct, enum reference types Classes, arrays,... Alocados no heap Atribuições não copiam valores Garbage collected 5

Framework Class Library System System.Collections System.Drawing System.IO System.Data System.Windows.Forms System.Web.UI System.Web.Services... 6

Compile Time C# Code C# Compiler Run Time Visual Basic Code Visual Basic Compiler IL JIT Compiler COBOL Code COBOL Compiler Native Code 7

.NET: Principais vantagens Ambiente virtual de execução Muitas bibliotecas APIs para desenvolvimento de software para Internet Interoperabilidade entre linguagens Novo standard: C# 8

2. Linguagem C# 2.0 Sintaxe básica C# vs. Java, C# vs. C++ 9

Exemplo 1: Hello World using System; public class HelloWorld public static void Main(string[] args) Console.WriteLine( Hello World! ); 10

Exemplo 2 public class Pessoa private string private int nome; idade; public Pessoa(string nome, int idade) this.nome = nome; this.idade = idade; public void MostraInfo() Console.WriteLine( 0, tem 1 anos, nome, idade); Pessoa cliente = new Pessoa( Carlos, 25); cliente.mostrainfo(); 11

C#: Sistema de tipos String string Nome; Array int[] tabela; Object Class class Pessoa... ValueType Enum Struct enum Estado Ligado, Desligado struct Ponto int x; int y; bool byte sbyte decimal char short ushort float double int long uint ulong decimal conta; 12

C#: Tudo é um objecto (2) int val = 10; object obj = val; int k = (int) obj; // k fica c/ valor 10 val 10 obj 10 System.Int32 Boxing k 10 Unboxing 13

C#: Controlo de execução Controlo de execução if, for, do, while, switch, foreach... switch sem fall-through: switch a case 2: x = 4; goto case 3 // fall-through explícito case 3:... Iteração (foreach): int[] tabela = 1, 2, 3; foreach (int i in tabela) Console.WriteLine( 0, i); 14

C#: Types (a.k.a. Classes) Hierarquia de nomes namespaces Herança simples Podem implementar múltiplas interfaces Membros campos, métodos (incluindo construtores), propriedades, indexadores, eventos Controlo de acesso: public, protected, internal, private internal: visível apenas dentro da assembly em que foi definido Membros static e instance Abstract (para polimorfismo) 15

C#: Herança public class Pessoa private string nome; public class Empregado : Pessoa private string empresa; public Pessoa(string nome) this.nome = nome; public virtual void MostraInfo() Console.WriteLine( Nome:0, nome); public Empregado(string nome, int empresa) : base(nome) this.empresa = empresa; public override void MostraInfo() base.mostrainfo(); Console.WriteLine( Empresa: 0, empresa); Por omissão, os métodos não são virtuais! 16

C#: Passagem de parâmetros ref passagem de tipos-valor por referência... char c= c ; g(ref c); out - passagem de tipos-valor não inicializados por referência:... int x; f(out x); void g(ref char pc) pc = x ; void f(out int x) x=2; 17

C#: Passagem de parâmetros params passagem de nº variável de parâmetros public static void Main() UseParams(1, 'a', "test"); int[] myarray = new int[3] 10,11,12; UseParams(myarray); public static void UseParams(params object[] list) for ( int i = 0 ; i < list.length ; i++ ) Console.WriteLine(list[i]); Console.WriteLine(); 18

C#: Redefinição de operadores É possível redefinir os operadores existentes. Lista A = new Lista(); Lista B = new Lista(); A.Add(1); A.Add(2); B.Add(3); B.Add(4); Lista C = A + B; // Junta ambas as listas 19

C#: Redefinição de operadores (2) public class Lista private object[]... Elementos; Lista A = new Lista(); Lista B = new Lista();... Lista C = A + B; public static Lista operator+(lista a, Lista b) Lista resultado = new Lista(); // Copia os elementos de <a> e <b> para // a lista <resultado> return resultado; 20

C#: Código unsafe Suporte de elementos avançados, como a utilização de ponteiros Sempre que são utilizados estes elementos, o código tem de ser colocado dentro de um contexto unsafe int total = 0; unsafe int* ptr = &total; *ptr = 10; public unsafe void FastCopy(byte* dst, byte* src, int count) for (int i=0; i<count; i++) *dst++ = *src++; 21

C#: Documentação em XML /// <summary> /// Este método calcula o ordenado de uma pessoa, /// baseado nos seus dias de trabalho. /// </summary> /// /// <param name= diastrabalho"> /// O número de dias que trabalhou. /// </param> /// /// <returns> O salário da pessoa. </returns> public int CalculaOrdenado(int diastrabalho)... 22

C# vs. C++ GC destrói objectos inacessíveis Tipos de referência e tipos-valor Boxing, unboxing Redefinição de métodos tem de ser explícita boolean não são inteiros switch sem fall-through Não se podem usar variáveis sem atribuição (out) Não há métodos globais 23

C# vs. Java Várias classes num ficheiro namespaces em vez de packages goto foreach Java suporta iterações (com for) apenas a partir da versão 1.5 Redefinição de operadores Enumerações Java suporta enumerações apenas a partir da versão 1.5 Tipos-valor e boxing Java lida automaticamente com boxing e unboxing apenas a partir da versão 1.5 Código inseguro (unsafe) ref serve para passar por referência Geração de um executável (.exe) ou de uma biblioteca (.dll) 24

3. IDE: MS Visual Studio 2005/2008 Ferramentas Console / Win Form Applications 25

IDE Ambiente de desenvolvimento.net Framework 2.0 Visual Studio.NET 2005/2008 Ferramentas Editor Compilador Debugger Projectos Console application Windows application Class library ASP.Net web service ASP.Net web application... 26