Introduzione a.net con C#



Documenti analoghi
Java: Compilatore e Interprete

Introduzione a.net (2)

Il.NET Framework. By Dario Maggiari. L architettura del.net Framework è riassunta, nel complesso, nella figura seguente:

Oggetti Lezione 3. aspetti generali e definizione di classi I

Java Virtual Machine

CORSO DI PROGRAMMAZIONE JAVA

Programmazione ad Oggetti. Java Parte I

Strumenti per la programmazione

Prova Finale a.a. 2011/2012. Laboratorio 1: Introduzione a Java e Eclipse

Informatica. Prof. A. Longheu. Introduzione a Java

Guida all uso dell ambiente di sviluppo 1 integrato o IDE. JCreator LE 4.50

Introduzione alla programmazione Java. Dott. Ing. M. Banci, PhD

Introduzione alla programmazione in Java

Corso di Informatica

Fondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011

Un primo programma Java. Introduzione alla programmazione in Java. Programmi e mondo reale. Programmare ad oggetti. I programmi come modelli

Java:Struttura di Programma. Fabio Scanu a.s. 2014/2015

La gestione documentale con il programma Filenet ed il suo utilizzo tramite la tecnologia.net. di Emanuele Mattei (emanuele.mattei[at] .

Tale attività non è descritta in questa dispensa

Telematica II 17. Esercitazione/Laboratorio 6

Le command line di Java

Proff. Fabio Ciao e Raffaele Bortone

Scrivere un programma in Java

Siti interattivi e dinamici. in poche pagine

Distributed Object Computing

Eclipse. Avviare un progetto e compilare un semplice programma

Java: Compilazione e Traduzione. Fondamenti di Informatica L-B Esercitazione n 3 Introduzione a JAVA. C: Editing, compilazione, esecuzione

Reflection in Java. Linguaggi Corso M-Z - Laurea in Ingegneria Informatica A.A

Programmazione Java Avanzata Concetti su Java

3 - Variabili. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo

Programmazione a Oggetti Lezione 10. Ereditarieta

Corso Eclipse. Prerequisiti. 1 Introduzione

Corso Base. Liceo Norberto Rosa Bussoleno Prof. Angelo GIORGIO

La prima applicazione Java con NetBeans IDE. Dott. Ing. M. Banci, PhD

costruttori e distruttori

Corso di Informatica (Programmazione) Lezione 6 (31 ottobre 2008)

Corso di Laurea Ingegneria Civile Fondamenti di Informatica. Traduzione ed esecuzione di programmi. Dispensa 08

2 - Introduzione al linguaggio Java

Progettazione : Design Pattern Creazionali

Approccio stratificato

Esercitazione n 4. Obiettivi

Corso Eclipse. Prerequisiti. 3 Window Builder

Programmazione in Java Parte I: Fondamenti

Programmazione. Programmare ad oggetti. Programmi e calcolatori. Focalizzazione del corso. Alcuni linguaggi famosi. Programmi e linguaggi

Università degli studi di Roma Tor Vergata Ingegneria Medica Informatica I Programma del Corso

Parola chiave extends

Dynamic Linking. Introduzione Creazione di una libreria dinamica Uso di una libreria dinamica

Ambienti di Sviluppo

Programmare in Java. Olga Scotti

Appunti di Informatica 1

Scaletta. Estensioni UML per il Web. Applicazioni web - 2. Applicazioni web. WAE: Web Application Extension for UML. «Client page»

Struttura di un programma Java

Manuale utente Volta Control

La prima applicazione Java. Creazione di oggetti - 1. La prima applicazione Java: schema di esecuzione. Gianpaolo Cugola - Sistemi Informativi in Rete

Sistemi Operativi. Processi GESTIONE DEI PROCESSI. Concetto di Processo. Scheduling di Processi. Operazioni su Processi. Processi Cooperanti

Programmazione avanzata con Visual Basic 2005

Tipi primitivi. Ad esempio, il codice seguente dichiara una variabile di tipo intero, le assegna il valore 5 e stampa a schermo il suo contenuto:

Object Oriented Programming

ProgettAzione V anno Unità 3 - Architetture per applicazioni web Lezione: Esempio sviluppo applicazioni

Makefile. Un target in generale e' un file. Usando.PHONY: target specifichiamo a make che il target non e' un file

15 - Packages. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo

GESTIONE DEI PROCESSI

I Canvas. import java.awt.*; import javax.swing.*; public class Graf{ public Graf () { JFrame f = new JFrame("Finestra"); // crea frame invisibile

Socket & RMI Ingegneria del Software - San Pietro

DA DEFINIRE Sede del corso: Presso GI Formazione in Piazza IV novembre 5, Milano Orari dalle 9.00 alle e dalle alle 18.

Prova di Laboratorio di Programmazione

Il linguaggio Java. Concetti base. I packages

Nascita di Java. Che cos e Java? Caratteristiche di Java. Java: linguaggio a oggetti

Tricks & Tips. [Access] Tutorial - ActiveX - Controllo Tree View. - Michele de Nittis - Versione: 1 Data Versione: venerdì 30 agosto 2002

Java? Sì, grazie. Scopo del corso

RMI Remote Method Invocation

Test di unità con JUnit4

Introduzione all uso di Eclipse

E possibile modificare la lingua dei testi dell interfaccia utente, se in inglese o in italiano, dal menu [Tools

Esercitazione 8. Basi di dati e web

14 - Packages. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo

Grammatica di base: Pointers

Applicazioni web centrati sui dati (Data-centric web applications)

20. Appunti sulle liste (gestione in linguaggio C#) 16/04/2015 Arraylist

Siti web centrati sui dati (Data-centric web applications)

Programmazione Orientata agli Oggetti in Linguaggio Java

19. LA PROGRAMMAZIONE LATO SERVER

Plus srl :: :: :: Via Morgagni, 4/A Verona :: Tel :: Fax

Dispensa di database Access

INTRODUZIONE, LINGUAGGIO, HANDS ON. Giuseppe Cirillo

13 - Gestione della Memoria nella Programmazione Orientata agli Oggetti

GPGPU GPGPU. anni piu' recenti e' naturamente aumentata la versatilita' ed usabilita' delle GPU

Programmazione ad oggetti

Il Sistema Operativo. Introduzione di programmi di utilità. Elementi di Informatica Docente: Giorgio Fumera

Corso su LINQ Lezione 16. Introduzione

Web Service: Introduzione. Algoritmi e sistemi di elaborazione - Vittorio Maniezzo - Università di Bologna

Linguaggio Java. Robusto. Orientato agli oggetti. Protegge e gestisce dagli errori. Non permette costrutti pericolosi

Siti web centrati sui dati Architettura MVC-2: i JavaBeans

Linguaggi Corso M-Z - Laurea in Ingegneria Informatica A.A Esercitazione. Programmazione Object Oriented in Java

Tutorial per l installazione del J2SE 6 e configurazione del sistema operativo

Il Software. Il software del PC. Il BIOS

Algebra di Boole: Concetti di base. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica

Transcript:

Introduzione a.net con C#

Introduzionea C# C# : CLR = Java : JVM C# è illinguaggiodiriferimentodi.net C# è molto simile a java e C++(80%) Nome del file puòesserediversodahello Main<> main, Case sensitive NameSpace(=package java)

C# fondamenti Derivano da Object Namespace per organizzare le classi Equivalenti ai package java Data model e Type System Value types (primitivi,enumeration,struct) Reference type (class,interface,array,delegate) Pointers type (ad alcuni tipi) Execution model Front-end compilation (simile al bytecode) Back-end compilation (Just In Time, JIT)

C# fondamenti Eccezioni Interfacce Threads Gargagecollection Reflection Dynamic loading Properties Events e delegates Operator overloading Boxing/Unboxing..

Array

Array

Array associativi

Boxing/Unboxing

Boxing/Unboxing

Nuovitipi in C# (4.0) Tuple Typed immutable generics in grado di memorizzare fino ad 8 oggetti Per memorizzare un numero maggiore di oggetti bisogna concatenare piu tuple! Tipi Complex BigInteger

Object orientation: ereditarietà

Object orientation: Overriding

Object orientation: Overriding operatori

Passaggiodeiparametri Named argument, parametri opzionali

Propietà Sono particolari metodi che si comportano come un attributo, cioè possono essere solo letti o scritti.

Indexers Come le proprietàpiùun metodoper usarele istanze di una classe come un vettore

Delegate, eventi, controlli Delegate è un tipo puntatore ad un metodo Si definiscemediantela paroladelegate e la firma del metodo delegate void Jolly (String s); Firma del metodo

Delegate, eventi, controlli Per creare valori di un tipo delegate new DelegateType(obj.Method); Se objè omessosiintedethis Se objè ilnomediunaclasse, Method è un metodostatico Method deve avere firma compatibile Unavariabiledelegate memorizzasial oggetto(o classe), sia il metodo

Esempiodelegate

Esempiodelegate Multicast class Counter { private int value=0; public void add(int v){value+=v;} } delegate void Adder(int i); class Test { static void Main() { Counter c1 = new Counter(); Counter c2 = new Counter(); Adder add = new Adder(c1.add); add+=new Adder(c2.add); add(3); //chiama c1.add(3) e c2.add(3) } }

Delegate, eventi, controlli Gli eventi sono variabili delegate dichiarate come campi di una classee denotatimediantela parola event Un evento può essere attivato somalente da dentro la classe nella quale è definito Esempio Change Model notify notify View 1 View 2

Esempio

Esempio

Delegate, eventi, Control Controlli: usati nelle GUI ed in ASP.NET Un controllo rappresenta un oggetto grafico che ha un contenuto informativo I controlli sono visualizzati all interno di un form (o in una pagina web) Programmazione visuale(visualstudio 2010)

Eventie controlli Glieventi(SW) sonogeneratia seguitodi eventi fisici(p.e., click del mouse) Tuttiglieventisonoraccoltidaun motore e consegnatiad Event handler delleapplicazioni. Glihandler devonoregistrarsiper ricevere gli eventi Eventi generati Controllo System s event Engine Attivazione di metodi(handler) Handler

Esempio

Namespace e Assembly Namespace serve per controllare la visibilità di nomi a tempo di compilazione Assembly è un componenteswcon propria indentità che può essere caricato a run-time Un assembly può contenere più namespace

Namespace c# vspackage java file: B.java package A; class B { } file: B.java package A; class C { } file: Test.cs namespace A; class B { } class C { } A Samples B.class MyLib.dll C.class Package = directory nome classe = file.class Namespace <> directory Nome file indipendente da nome classe piùclassinellostessonamespace vanno nello stesso file

Assembly Namespace A Namespace B file A.cs file B.cs namespace A { class C1 { } class C2 { } } namespace A { class C2 { } } namespace B { class C4 { } class C5 { } } namespace B { class C6 { } } file D.cs file E.cs cscb.cse.cs assembly Assembly e namespace sono due concetti ortogonali

.NET Framework Un run-time (middleware) per l esecuzione di applicazioni desktop e distribuite Insieme di tool di sviluppo e librerie Connessionia db GUI Pagineweb dinamiche LibrerieSpecializzateper un tipo di applicazione LibrerieSW dibase language independent.. Basato su macchina virtuale Garbage Collection, Security,Inteoperability,.. Just in time compilation

Versionidi.NET.NET 3.0: ulteriorerun-time e librerie Windows Presentation Fund. Creazione GUI, rimpiazza WinForm Nuovo linguaggio: xaml Windows Communication Fund. Scambio messaggi fra applicazioni Worklow Fundation ApplicazioniWorkflow Card Space Gestione identità digitale di utenti

Versionidi.NET LINQ (Language-Integrated Query) set di funzionalità introdotto in che migliorala gestione delle querynella sintassi dei linguaggi C#e VisualBasic. Entity Framework ObjectOrientedMappingdei di database

Interoperabilità Source Code C# Front-end compilers Visual Basic Common Intermediate Language (CIL) Visual C++ Stack-based assembly language machine Back-end compilers (JIT Compilation) Common Language Runtime (CLR) Windows Linux MacOs

Just in Time compilation

HelloNS.vb Esempio Main.cs vbc/target:library Hello.vb csc/r:hellotns.dll Main.cs HelloNS.dll ---- ---- Main.exe ---- ----

Base Class Library (BCL) System.Collections System.Diagnostics System.Globalization System.IO System.Net System.Reflection System.Runtime System.Security System.Text System.Threading.. Contiene: lists, queues, stacks, hashtables, dictionaries.. Funzioniper diagnostica: eventlogging, performance counters, Formato data, monete, numeri, etc. Legge/scriveStream, connessioneal file system Interfacceaiprotocollidirete, HTTP, FTP,SMTP,SSL,.. Proprietà degli oggetti a run time GestionedelCLR Servizi di crittografia,.. Espressioni regolari Gestione thread

Esempio

Visual studio 2010 https://www.dreamspark.com/

Mono

Bibliografiae risorse.net Application Development, Hanspeter Mössenböck, Wolfgang Beer, Dietrich Birngruber, Albrecht Wöß Pearson/Addison Wesley http://channel9.msdn.com/