C # delegates. Delegate 01/10/2017. Vittorio Maniezzo Università di Bologna
|
|
- Gemma Mora
- 5 anni fa
- Visualizzazioni
Transcript
1 C # delegates Vittorio Maniezzo Università di Bologna Delegate I delegatipossonoesserevisticome definizionidi tipi per puntatoria funzione. Permettonodi averevariabili(istanze) type-safe (static) che puntano a funzioni(metodi). Un delegate specifica la signature di un particolare metodo. Questo nome non importa public delegate Complex Func1D(Complex x); Tipo ritornato Nome del tipo definito Parametri: ordine e tipo Vittorio Maniezzo Università di Bologna 2 1
2 Delegate e interfacce I delegate sono simili alle interfacce: specificano un contratto fra il chiamante e l implementazione. Interfaccia: specifica una intera interfaccia Delegate: specifica una sola funzione Interfaccia: creato a compile-time Delegate: creato a run-time. Può essere usato per collegare dinamicamentecallback fra oggetti che non erano stati progettati per lavorare assieme. Vittorio Maniezzo Università di Bologna 3 Esempi Esempi di definizione di tipi: public delegate double Function( double x ); public delegate bool Predicate( double x ); public delegate void Action( double x ); Assegnamento di variabili ai tipi: private Function log10 = System.Math.Log10; private Predicate isnegative = null; private Function operation = null; private Action print = new Action(Console.Writeline); Sonotipi per riferimento, illorovaloredi default è null. Vittorio Maniezzo Università di Bologna 4 2
3 Esempio Il tipodel delegatoè definitodal nomedel delegato. Il tipoè indicatonelladichiarazionedel delegato, con parametridi input e tipo di return public delegate void Print(string s); Esempio: datidue metodicon la stessasignature del delegate sopra public static void smethod(string s) { Console.WriteLine("static:" + s); public void g(string s) { Console.WriteLine("instance:" + s); Per creareilnuovooggettodelegato, siusal operatorenew. L argomento è la chiamata del metodo, ma senza gli argomenti del metodo Print v1 = new Print(Program.sMethod); Print v2 = new Print(new Program().g); Vittorio Maniezzo Università di Bologna 5 Uso dei delegate Per utilizzare le variabili(i delegate), le si chiama esattamente come per i metodi: double y = log10(100.0); y += operation(-2); if( isnegative(y) ) (new Action(Console.Writeline))(y); Quandoun delegate è istanziato, unachiamataal delegate vienepassatadal delegate al metododi riferimento. Vittorio Maniezzo Università di Bologna 6 3
4 Assegnamento di metodi Qualunque metodo compatibile con la signature può essere assegnato all istanza del delegate delegate void Notifier (string sender); void scriviciao( string nome) { Console.WriteLine( Ciao da " + nome); Notifier saluto = new Notifier(scriviCiao); saluto( Paolo ); // scriviciao( Paolo") => Ciao da Paolo Nota Se vale null, una variabile delegate non può essere chiamata (dà errore). Le variabili delegate sono normali oggetti. Possono essere memorizzatein strutturedati, passatecome parametri, ecc. Vittorio Maniezzo Università di Bologna 7 new DelegateType (instance.method) Unavariabiledelegate mantieneilmetodoe ilsuoriferimento. Non memorizza i parametri. new Notifier( mieisaluti.scriviciao ); Il riferimento, l istanza, può essere this (e può essere omesso) new Notifier( scriviciao ); Il metodopuòesserestatic. In questocasobisognausareil nome della classe e non quello dell istanza. new Notifier( MyClass.StaticScriviCiao ); Il metodonon puòessereabstract ma puòesserevirtual. Vittorio Maniezzo Università di Bologna 8 4
5 Signature La signature del metododeveesserecompatibilecon quella del DelegateType Stesso numero di parametri Stessotipodi parametri(inclusoiltipodel return) Stessi attributi dei parametri(ref, out) In.NET 2.0 i delegate sono contro-varianti per i parametri(sipossonousaretuttiitipi base del tipo specificato) e covarianti nel tipo ritornato(si può usare qualunque tipo derivato dal tipo di return specificato). Vittorio Maniezzo Università di Bologna 9 multicast delegate Una istanza di un delegate è un contenitore di callback function. Può contenereunalistadi valori. Glioperatori+= e -= permettonodi aggiungere e rimuovere valori. L operatore= svuotala listae la re-inizializzacon ilsuorhs. Notifier saluti; saluti = new Notifier(scriviCiao); saluti += new Notifier(scriviAddio); saluti( Paola"); // Ciao da Paola " // Addio da Paola " saluti -= new Notifier(scriviCiao); saluti("paola"); // "Addio da Paola Un multicast delegate è una funzione, ritorna il valore dell ultimo metodo chiamato. Ma è impossibile predeterminare l ordine in cui i metodi saranno eseguiti. Se un multicast delegate ha un parametro out, viene ritornato il parametro calcolato nell utimo metodo. I parametri ref sono passati attraversotuttiimetodi. Vittorio Maniezzo Università di Bologna 10 5
6 Delegate generici delegate bool Check<T>(T value); class Payment { public DateTime date; public int amount; internal class Account { private IList<Payment> payments = new List<Payment >(); public void Add(Payment p) { payments.add(p); public int AmountPayed( Check<Payment>(matches) ) { int val = 0; foreach (Payment p in payments) if ( matches(p) ) val += p.amount; return val; Si passa il metodo check, che controlla se ogni pagamento è accettabile bool PaymentsAfter( Payment p ) {return DateTime.Compare( p.date, mydate ) >= 0;... mydate = new DateTime(2001, 11, 9); int val = account.amountpayed( new Check<Payment>(PaymentsAfter) ); Vittorio Maniezzo Università di Bologna 11 Inline dalegate C# 2.0 ha introdotto i metodi anonimi: delegati con codice inline this.button1.click += delegate(object o, EventArgs e) { MessageBox.Show( Mi hai cliccato! ); ; Vittorio Maniezzo Università di Bologna 12 6
7 Espressioni lambda Le espressioni Lambda sono un modo di scrivere metodi anonimi usando una sintassi funzionale Vittorio Maniezzo Università di Bologna 13 C# 1.0 Vittorio Maniezzo Università di Bologna 14 7
8 C# 2.0 Vittorio Maniezzo Università di Bologna 15 C# 3.0 Vittorio Maniezzo Università di Bologna 16 8
9 Threading Vecchio modo Vittorio Maniezzo Università di Bologna 17 Con espressione lambda Il compilatoreconverteautomaticamente la lambda un un delegate ThreadStart Vittorio Maniezzo Maniezzo Università Università di Bologna di Bologna 18 9
10 Delegate predefiniti: Func Func permette di creare un delegate con fino a 4 parameteri senza doverlo scrivere Vittorio Maniezzo Università di Bologna 19 Delegate di sistema Vittorio Maniezzo Università di Bologna 20 10
11 Action, esempio Action<int,int,int> setgiorno = (int idday,int ii, int g) => { if(ii==g g == 0) isgiornoprelievo[idday,k] = 1; else isgiornoprelievo[idday,k] = 0; ; for(i=0;i<ngiornianno;i++) { switch (nomegiorno[i]) { case "lun": setgiorno.invoke(i,2,idgiorno); break; case "mar": setgiorno.invoke(i,3,idgiorno); break; case "mer": setgiorno.invoke(i,4,idgiorno); break; case "gio": setgiorno.invoke(i,5,idgiorno); break; case "ven": setgiorno.invoke(i,6,idgiorno); break; case "sab": isgiornoprelievo[i,k] = 0; break; case "dom": isgiornoprelievo[i,k] = 0; break; default: isgiornoprelievo[i,k] = -1; break; Vittorio Maniezzo Università di Bologna 21 Gestione di eventi Eventi, elementi di base: Un evento è un messaggio inviato da un oggetto per segnale che è avvenuta una azione. L azionepuòesseregeneratadall utente(es. mouse click) o dall esecuzione di un programma. L oggetto che ha generato l evento si chiama event sender. L oggetto che cattura l evento si chiama event receiver. La classe sendernon sa chi riceverà (handle) l eventoche genera. Serve un intermediario(un delegate) frasource e receiver. Un eventoè un membrodi un tipodelegate chepermettea un oggetto di fornire notifiche.... Vittorio Maniezzo Università di Bologna 22 11
12 Eventi : esempio Dichiarare un delegate con parametri: 1. la sorgente che ha generato l evento 2. il dato dell evento public delegate void EventHandler(object sender, System.EventArgs e); Nella classe Button Definire un evento click di tipo EventHandler Nella classe Button, ilmembroclick è proprioun campo di tipo EventHandler Fuori dalla classe Button, ilmembroclick puòsolo essereusato a sinistradi uno+= o -=(l operatore += aggiungeun handler per l eventoe -= ne rimuoveuno). public class Button { public event EventHandler Click; public void Reset() { Click = null; Vittorio Maniezzo Università di Bologna 23 Eventi : esempio Nella classe Form1 (windows application) Creare un bottone Creare un metodo event handler Connettere l event handler all evento click del bottone public Form1() {... button1.click += new EventHandler(button1_Click); public void button1_click(object sender, EventArgs e) { Console.WriteLine("Clicked"); Vittorio Maniezzo Università di Bologna 24 12
C# delegates. Vittorio Maniezzo Università di Bologna. Vittorio Maniezzo Università di Bologna 1. Delegate
C# delegates Vittorio Maniezzo Università di Bologna Vittorio Maniezzo Università di Bologna 1 Delegate I delegati possono essere visti come definizioni di tipi per puntatori a funzione. Permettono di
Listee generics (C#)
Listee generics (C#) Vittorio Maniezzo Università di Bologna I generici I generics sono una funzionalità della versione 2.0 del linguaggio C# (e del CLR). Introducono il concetto di parametri di tipo,
Utilizza i tipi di dati comuni a tutto il framework.net Accesso nativo ai tipi.net (C# è nato con.net) Concetti fondamentali:
1 Tipi di dati 1 Tipi di dati Utilizza i tipi di dati comuni a tutto il framework.net Accesso nativo ai tipi.net (C# è nato con.net) Concetti fondamentali: Tutto è un oggetto Tutto eredita implicitamente
CORSO DI PROGRAMMAZIONE
ISTITUTO TECNICO INDUSTRIALE G. M. ANGIOY SASSARI CORSO DI PROGRAMMAZIONE METODI DELEGATI DISPENSA 17.02 17-02_Delegati_[09] Questa dispensa è rilasciata sotto la licenza Creative Common CC BY-NC-SA. Chiunque
OCA JAVA 8 SE PROGRAMMER I DOCENTE: DOTT. FAUSTO DELL ANNO
CENTRO STUDI ULISSE Via Buccino, n. 22 - C.a.p. 84018 - Scafati (SA) Tel. Fax. 081.19970299-339.2365416-349.4152010 E-mail: info@centrostudiulisse.it - www.centrostudiulisse.it OCA JAVA 8 SE PROGRAMMER
Le basi del linguaggio Java
Le basi del linguaggio Java Compilazione e interpretazione Quando si compila il codice sorgente scritto in Java, il compilatore genera il codice compilato, chiamato bytecode. È un codice generato per una
Programmazione lato client. JavaScript. Applicazioni di Rete M. Ribaudo - DISI. JavaScript
Programmazione lato client Netscape: Microsoft: JScript ECMAScript (ECMA-262) (European Computer Manufactures Association) 1 Linguaggio di script interpretato con alcune caratteristiche Object Oriented
JavaScript JavaScript Programmazione lato client JScript JavaScript ECMAScript
Programmazione lato client Netscape: Microsoft: JScript ECMAScript (ECMA-262) (European Computer Manufactures Association) Linguaggio di script interpretato con alcune caratteristiche Object Oriented HTTP
Programmare. Definire una sequenza di istruzioni che specificano come effettuare una elaborazione
Python Programmare Definire una sequenza di istruzioni che specificano come effettuare una elaborazione Le istruzioni devono essere date in un linguaggio comprensibile dal calcolatore. In generele questi
Variabili e Funzioni. Informatica 1 / 19
Variabili e Funzioni Informatica 1 / 19 Programmi C e Un programma C e composto da funzioni e variabili Variabile: memorizza valori appartenenti ad un insieme di definizione (dipendente dal tipo) Funzione:
OCA JAVA 7 SE PROGRAMMER I DOCENTE: DOTT. FAUSTO DELL ANNO
CENTRO STUDI ULISSE Via Buccino, n. 22 - C.a.p. 84018 - Scafati (SA) Tel. Fax. 081.19970299-339.2365416-349.4152010 E-mail: info@centrostudiulisse.it - www.centrostudiulisse.it OCA JAVA 7 SE PROGRAMMER
9 - Array. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo
9 - Array Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it Corso di Laurea
Il linguaggio C. Puntatori e dintorni
Il linguaggio C Puntatori e dintorni 1 Puntatori : idea di base In C è possibile conoscere e denotare l indirizzo della cella di memoria in cui è memorizzata una variabile (il puntatore) es : int a = 50;
Tipi definiti dall'utente
Tipi definiti dall'utente Tipi definiti Il C mette a disposizione un insieme di tipi di dato predefiniti (tipi built-in) e dei meccanismi per denire nuovi tipi (tipi user-defined) Possiamo: Ridenominare
Programmazione Orientata agli Oggetti. Emilio Di Giacomo e Walter Didimo
Programmazione Orientata agli Oggetti Emilio Di Giacomo e Walter Didimo Una metafora dal mondo reale la fabbrica di giocattoli progettisti Un semplice giocattolo Impara i suoni Dall idea al progetto Toy
7 - Programmazione procedurale: Dichiarazione e chiamata di metodi ausiliari
7 - Programmazione procedurale: Dichiarazione e chiamata di metodi ausiliari Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa
Ambienti di Programmazione per il Software di Base
Ambienti di Programmazione per il Software di Base Le Funzioni in C Esercizi sulle Funzioni svolti Esercizi sulle Funzioni da svolgere A.A. 2011/2012 Ambienti di Programmazione per il Software di Base
Corso Base. Liceo Norberto Rosa Bussoleno Prof. Angelo GIORGIO
Corso Base Liceo Norberto Rosa Bussoleno Prof. Angelo GIORGIO Richiamo di una Proprietà Se la proprietà è privata, è visibile solo dai metodi della classe, se pubblica invece anche dai metodi al di fuori
Programmare. Definire una sequenza di istruzioni che specificano come effettuare una elaborazione
Python Programmare Definire una sequenza di istruzioni che specificano come effettuare una elaborazione Le istruzioni devono essere date in un linguaggio comprensibile dal calcolatore. In generele questi
Programmazione Orientata agli Oggetti in Linguaggio Java
Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Grafica: C# versione 1.0 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina) G.
FUNZIONI. Esempi (pseudo-c): dare un nome a una espressione rendere tale espressione parametrica. float f(){ * sin(0.75); } float f1(int x) {
Spesso può essere utile avere la possibilità di costruire nuove istruzioni che risolvano parti specifiche di un problema Una funzione permette di dare un nome a una espressione rendere tale espressione
Istruzione if. if (amount <= balance) balance = balance - amount; Sintassi: if (condizione) istruzione
Decisioni Istruzione if if (amount
Passaggio dei parametri Per valore Il valore viene copiato dall environment esterno all environment della funzione o procedura Cambiamenti dei paramet
Per valore Il valore viene copiato dall environment esterno all environment della funzione o procedura Cambiamenti dei parametri così passati non si riflettono sull environment esterno Per riferimento
FUNZIONI. Esempi (pseudo-c): dare un nome a una espressione rendere tale espressione parametrica. float f(){ * sin(0.75); } float f1(int x) {
Spesso può essere utile avere la possibilità di costruire nuove istruzioni che risolvano parti specifiche di un problema Una funzione permette di dare un nome a una espressione rendere tale espressione
Tipi definiti dall'utente
Tipi definiti dall'utente Tipi definiti Il C mette a disposizione un insieme di tipi di dato predefiniti (tipi built-in) e dei meccanismi per denire nuovi tipi (tipi user-defined) Possiamo: Ridenominare
14 - Metodi e Costruttori
14 - Metodi e Costruttori Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it
Programmazione Java Struttura di una classe, Costruttore, Riferimento this
Programmazione Java Struttura di una classe, Costruttore, Riferimento this romina.eramo@univaq.it http://www.di.univaq.it/romina.eramo/tlp Roadmap > Struttura di una classe > Costruttore > Riferimento
Programmazione Java Struttura di una classe, Costruttore, Riferimento this
Programmazione Java Struttura di una classe, Costruttore, Riferimento this Davide Di Ruscio Dipartimento di Informatica Università degli Studi dell Aquila diruscio@di.univaq.it. Sommario 2 2» Struttura
C: primi elementi. Lezione 4
C: primi elementi Lezione 4 Evoluzione del BCPL (1967) e B (1970), entrambi typeless Sviluppato da Dennis Ritchie nel 1972 ed implementato per il PDP-11 Usato per lo sviluppo del sistema operativo UNIX
FUNZIONI COME COMPONENTI SW FUNZIONI COME COMPONENTI SW FUNZIONI MODELLO CLIENTE/SERVITORE
FUNZIONI Spesso può essere utile avere la possibilità di costruire nuove istruzioni che risolvano parti specifiche di un problema Una funzione permette di dare un nome a una espressione rendere tale espressione
Linguaggi di Programmazione I Lezione 10
Linguaggi di Programmazione I Lezione 10 Prof. Marcello Sette mailto://marcello.sette@gmail.com http://sette.dnsalias.org 8 maggio 2008 Array 3 Dichiarazione...........................................................
Passaggio dei parametri. Passaggio dei parametri
Per valore Il valore viene copiato dal mondo esterno all environment della funzione o procedura Cambiamenti dei parametri così passati non si riflettono sul mondo esterno rimangono circoscritti all environment
Model View Controller
Model View Controller in breve Design Patterns Una scelta cruciale, programmando OO, è decidere quali classi definire e che responsabilità abbiano. I Design Pattern (schemi progettuali, pattern è usato
JAVA GENERICS. Angelo Di Iorio Università di Bologna
JAVA GENERICS Angelo Di Iorio Università di Bologna Tipi parametrici In diversi casi è utile definire classi che operano su tipi di dato diverso e implementano un comportamento comune e indipendente dal
Oggetti e dati primitivi 1
I membri delle classi Oggetti e dati primitivi Corso di laurea in Le classi contengono 2 tipi di membri, definiti per l intera classe o per le singole istanze Le variabili o i campi, che rappresentano
1) definizione di una rappresentazione 2) specificazione di un algoritmo (dipendente dalla rappresentazione) 3) traduzione in un linguaggio
soluzione di un problema 1) definizione di una rappresentazione 2) specificazione di un algoritmo (dipendente dalla rappresentazione) 3) traduzione in un linguaggio rappresentazioni disponibili in C++:
parte dichiarativa globale: dichiarazioni di costanti dichiarazioni di tipi dichiarazioni di variabili prototipi di funzioni/procedure
Tipi user-defined Il C mette a disposizione un insieme di tipi di dato predefiniti (tipi built-in) e dei meccanismi per definire nuovi tipi (tipi user-defined) Vediamo le regole generali che governano
Le Funzioni in C. Fondamenti di Informatica Anno Accademico 2010/2011. Corso di Laurea in Ingegneria Civile Politecnico di Bari Sede di Foggia
Le Funzioni in C Corso di Laurea in Ingegneria Civile Politecnico di Bari Sede di Foggia Fondamenti di Informatica Anno Accademico 2010/2011 docente: prof. Michele Salvemini 1/24 Sommario Le funzioni Il
Laboratorio di Informatica I
Struttura della lezione Lezione : Elementi lessicali del C Vittorio Scarano Corso di Laurea in Informatica Elementi lessicali e token Costanti Identificatori Operatori operatori di incremento/decremento
parte dichiarativa globale: dichiarazioni di costanti dichiarazioni di tipi dichiarazioni di variabili prototipi di funzioni/procedure
Tipi user-defined Il C mette a disposizione un insieme di tipi di dato predefiniti (tipi built-in) e dei meccanismi per definire nuovi tipi (tipi user-defined) Vediamo le regole generali che governano
OCA JAVA 7 SE PROGRAMMER I DOCENTE: DOTT. FAUSTO DELL ANNO
CENTRO STUDI ULISSE Via Buccino, n. 22 - C.a.p. 84018 - Scafati (SA) Tel. Fax. 081.19970299-339.2365416-349.4152010 E-mail: info@centrostudiulisse.it - www.centrostudiulisse.it OCA JAVA 7 SE PROGRAMMER
FUNZIONI COME COMPONENTI SW FUNZIONI COME COMPONENTI SW FUNZIONI MODELLO CLIENTE/SERVITORE
FUNZIONI Spesso può essere utile avere la possibilità di costruire nuove istruzioni che risolvano parti specifiche di un problema Una funzione permette di dare un nome a una espressione rendere tale espressione
Programmazione con Java
Programmazione con Java Classi e istanze in Java Definizione di classe in Java A meno che non si usino classi già scritte da altri, prima di poter creare un qualsiasi oggetto devo creare la sua rappresentazione:
Le classi in java. Un semplice programma java, formato da una sola classe, assume la seguente struttura:
Le classi in java Un semplice programma java, formato da una sola classe, assume la seguente struttura: class Domanda static void main(string args[]) System.out.println( Quanti anni hai? ); La classe dichiarata
Programmazione a Oggetti Lezione 7. Il linguaggio Java: aspetti generali
Programmazione a Oggetti Lezione 7 Il linguaggio Java: aspetti generali Sommario Obiettivi di JAVA Portabilità: produrre codice eseguibile su più piattaforme (JVM) Affidabilità: Evitare il più possibile
Una funzione riceve dati di ingresso in corrispondenza ai parametri
FUNZIONI Spesso può essere utile avere la possibilità di costruire nuove istruzioni che risolvano parti specifiche di un problema Una funzione permette di dare un nome a una espressione rendere tale espressione
Fondamenti di Informatica
Programmazione modulare (top-down) Fondamenti di Informatica 15. Funzioni in C++ (parte 1) Problemi complessi Conviene suddividere il programma in sottoprogrammi piu semplici mediante la metodologia di
Informatica 1 Tipi e dichiarazioni in C++ C++ - Tipi e dichiarazioni 1
Informatica 1 Tipi e dichiarazioni in C++ C++ - Tipi e dichiarazioni 1 Cosa è il C++ E un linguaggio di programmazione derivato dal C Può essere usato per modificare il SO Unix e i suoi derivati (Linux)
Riuso di classi. Ereditarietà. Ereditarietà. Spesso si ha bisogno di classi simili
Riuso di classi Spesso si ha bisogno di classi simili Si vuole cioè riusare classi esistenti per implementare attributi e metodi leggermente diversi Non è pratico copiare la classe originaria e modificarne
Strutture, Unioni, Enumerazioni in C. Emilio Di Giacomo
Strutture, Unioni, Enumerazioni in C Emilio Di Giacomo Strutture Una struttura è una collezione di variabili raggruppate sotto uno stesso nome da questo punto di vista è simile a un array Le variabili
Passare argomenti al programma
Passare argomenti al programma Quando si invoca un programma è possibile passare degli argomenti ad esso durante la chiamata. Gli argomenti ricevuti saranno stringhe (array di char) quindi l insieme di
Documentazione VoisMonitorDll
Documentazione VoisMonitorDll VoisMonitorDll è una libreria di funzioni realizzata in.net che permette di interfacciare un applicazione Windows con il VoiSmart PBX. Classe VoisMonitor E la classe che permette
FUNZIONI FUNZIONI COME COMPONENTI SW
FUNZIONI Spesso può essere utile avere la possibilità di costruire nuove istruzioni che risolvano parti specifiche di un problema Una funzione permette di dare un nome a una espressione rendere tale espressione
Laboratorio di Programmazione Lezione 2. Cristian Del Fabbro
Laboratorio di Programmazione Lezione 2 Cristian Del Fabbro Prossima lezione GIOVEDÌ 29 OTTOBRE 14:00 Input da tastiera package input; import java.io.*; public class Input { public static void main(string[]
Programmazione orientata agli oggetti La classe Object, metodi e classi final, this. Object
Programmazione orientata agli oggetti La classe, metodi e classi final, this 1 La classe Negli esempi fatti nella prima parte del corso abbiamo definito alcune classi, per esempio Counter e Orologio, senza
Programmazione orientata agli oggetti La classe Object, metodi e classi final, this. Object
Programmazione orientata agli oggetti La classe, metodi e classi final, this 1 La classe Negli esempi fatti nella prima parte del corso abbiamo definito alcune classi, per esempio Counter e Orologio, senza
Classe Squadra. #include <iostream> using namespace std;
Classe Squadra Si vuole scrivere un programma che gestisce la classifica di un campionato tra squadre di calcio, ognuna identificata dal proprio nome. Il programma deve essere in grado di assegnare un
OCA JAVA 7 SE PROGRAMMER I DOCENTE: DOTT. FAUSTO DELL ANNO
CENTRO STUDI ULISSE Via Buccino, n. 22 - C.a.p. 84018 - Scafati (SA) Tel. Fax. 081.19970299-339.2365416-349.4152010 E-mail: info@centrostudiulisse.it - www.centrostudiulisse.it OCA JAVA 7 SE PROGRAMMER
Corso di JavaScript. M. Malatesta 4-Funzioni e strutture di controllo-03
Corso di JavaScript 4 Funzioni e strutture di controllo 1 Prerequisiti Conoscenza HTML Architettura client-server Programmazione ad oggetti (Java, C++) Concetto di programmazione ad eventi Parametri formali
Lezione 9: Puntatori a funzioni. Tipi enumerativi e orientati ai bit
Lezione 9: Puntatori a funzioni. Tipi enumerativi e orientati ai bit Vittorio Scarano Laboratorio di Informatica I Corso di Laurea in Informatica Università degli Studi di Salerno Struttura della lezione
Istruzioni di selezione in Java 1
Ordine di esecuzione Istruzioni di selezione in Java Corso di laurea in Comunicazione digitale Nei metodi l ordine di esecuzione delle istruzioni è sequenziale se non specificato altrimenti Alcune istruzioni
Passaggio dei parametri
Passaggio dei parametri Per valore Il valore viene copiato dall environment esterno all environment della funzione o procedura Cambiamenti dei parametri così passati non si riflettono sull environment
Oggetti. Definizioni di Classi II
Programmazione a Oggetti Definizioni di Classi II Sommario Costruzioni di oggetti Campi e metodi di classe Overloading Istanziazione di oggetti Costruzione di un oggetto Processo complesso che comprende
Unità A1 Funzioni MODULO Java 2
Dare una breve descrizione dei termini introdotti: (A) CONOSCENZA TERMINOLOGICA Passaggio parametri per valore Passaggio parametri per indirizzo Parametri formali e attuali Regole di visibilità Ambiente
Fondamenti di Informatica T2 Modulo 2. Corso di Laurea in Ingegneria Informatica Anno accademico 2008/2009. Enumerativi
Università degli Studi di Bologna Facoltà di Ingegneria Fondamenti di Informatica T2 Modulo 2 Corso di Laurea in Ingegneria Informatica Anno accademico 2008/2009 Enumerativi Finora abbiamo creato enumerativi
ISTITUTO D'ISTRUZIONE SUPERIORE - - CASTEL VOLTURNO (CE) 1A 1B 1C 1D 1E 1F 1G 1H 1I 2A 2B LABORATORIO CUC/SALA LABORATORIO STORIA BIOLOGIA -
Lun 11.30 Mar 11.30 Mer 11.30 Gio 11.30 1A 1B 1C 1D 1E 1F 1G 1H 1I 2A 2B ITALIANO - DIRITTO ED BIOLOGIA - DIRITTO ED Lun 11.30 Mar 11.30 Mer 11.30 Gio 11.30 2C 2D 2E 2F 2G 2H 2I 2L 3A 3B 3C LAB. SERVIZI
I numeri razionali. Specifica: la sintassi. Specifica: la semantica
Tipi di dato e strutture dati Specifica e realizzazione di strutture informative come classi Che cos è un tipo di dato? Tutti i linguaggi di programmazione tipati forniscono tipi ed operatori predefiniti
Funzioni in C. Funzioni. Strategie di programmazione. Funzioni in C. Come riusare il codice? (2/3) Come riusare il codice? (1/3)
Funzioni Il concetto di funzione Parametri formali e attuali Il valore di ritorno Definizione e chiamata di funzioni Passaggio dei parametri Corpo della funzione 2 Strategie di programmazione Riuso di
Laboratorio Informatica Classe 4A Serale Venerdì 18/02/2011. Gruppo. Cognome Riontino Nome Raffaele. Cognome Nome
Laboratorio Informatica Classe 4A Serale Venerdì 18/02/2011 Gruppo Cognome Riontino Nome Raffaele Cognome Nome TRACCIA 2 ARGOMENTO: LISTE TEMPO: 4h 1. Utilizzando Typedef definire un nuovo tipo di dato
Concetto di Funzione e Procedura METODI in Java
Fondamenti di Informatica Concetto di Funzione e Procedura METODI in Java Fondamenti di Informatica - D. Talia - UNICAL 1 Metodi e Sottoprogrammi Mentre in Java tramite le classi e gli oggetti è possibile
Autore: Prof. Agostino Sorbara ITIS "M. M. Milano" Polistena (RC)
con questo nome si indica in genere un pezzo di programma, dotato di una propria identità: un modulo, ad esempio, potrebbe essere l insieme di alcune funzioni C, o Pascal, che risiedono in un unico file
Scelte. Costrutto condizionale. Il costrutto if. Il costrutto if. Rappresentazione con diagramma a blocchi. Il costrutto if
Scelte Costrutto condizionale Scelte, blocchi Fino ad ora il corpo dei metodi che abbiamo scritto aveva solo un modo di essere eseguito: in sequenza dalla prima istruzione all ultima In applicazioni non
Programmazione a Oggetti Lezione 11. Eccezioni e Packages
Programmazione a Oggetti Lezione 11 Eccezioni e Packages Sommario Eccezioni Sollevamento Cattura Trattamento Packages e visibilità Eccezioni I programmi spesso si trovano ad operare in condizioni anomale:
Esempi di programmi. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa E01. A. Miola Settembre 2007
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa E01 Esempi di programmi A. Miola Settembre 2007 http://www.dia.uniroma3.it/~java/fondinf1/ Esempi di programmi - 1 1 Contenuti
Esempi al calcolatore su: 1) Costruttori ed ereditarietà 2) Subtyping e Polimorfismo
Esempi al calcolatore su: 1) 2) Subtyping e Polimorfismo 1 Esempio 1: 2 Introduzione Java prevede due automatismi legati ai costruttori: Se una classe non ha costruttori viene creato automaticamente il
Strategie di programmazione
Funzioni Funzioni in C Il concetto di funzione Parametri formali e attuali Il valore di ritorno Definizione e chiamata di funzioni Passaggio dei parametri Corpo della funzione 2 Funzioni in C Strategie
FUNZIONI FUNZIONI COME COMPONENTI SW
FUNZIONI Spesso può essere utile avere la possibilità di costruire nuove istruzioni che risolvano parti specifiche di un problema. Una funzione permette di dare un nome a una espressione rendendola parametrica
Programma del corso. Elementi di Programmazione. Introduzione agli algoritmi. Rappresentazione delle Informazioni. Architettura del calcolatore
Programma del corso Introduzione agli algoritmi Rappresentazione delle Informazioni Architettura del calcolatore Reti di Calcolatori Elementi di Programmazione Algoritmi e programmi Algoritmo Sequenza
Ingegneria Elettronica Ingegneria delle Telecomunicazioni (J-Z) Ing. Antonio Monteleone A.A. 2001/02 3 ciclo
Ingegneria Elettronica Ingegneria delle Telecomunicazioni (J-Z) Ing. Antonio Monteleone A.A. 2001/02 3 ciclo In C++ è possibile distinguere due aree distinte di memoria: memoria stack e memoria heap E
Esercitazione 11. Liste semplici
Esercitazione 11 Liste semplici Liste semplici (o lineari) Una lista semplice (o lineare) è una successione di elementi omogenei che occupano in memoria una posizione qualsiasi. Ciascun elemento contiene
JavaScript Core Language. Prof. Francesco Accarino IIS Atiero Spinelli Sesto San Giovanni via leopardi 132
JavaScript Core Language Prof. Francesco Accarino IIS Atiero Spinelli Sesto San Giovanni via leopardi 132 Condizioni L utilizzo di operatori relazionali e logici consente di formulare delle condizioni
Programmazione Procedurale in Linguaggio C++
Programmazione Procedurale in Linguaggio C++ Tipi Strutturati Parte 7 Dettagli e Approfondimenti versione 2.0 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima
METODI in Java. Prof.Angela Bonifati. Metodi e Sottoprogrammi
Fondamenti di Informatica METODI in Java Prof.Angela Bonifati 1 Metodi e Sottoprogrammi Mentre in Java tramite le classi e gli oggetti è possibile definire nuovi tipi di dati, tramite i metodi è possibile
Lezione 15 programmazione in Java. Nicola Drago Dipartimento di Informatica Università di Verona
Lezione 15 programmazione in Java Nicola Drago nicola.drago@univr.it Dipartimento di Informatica Università di Verona Anteprima Approfondimenti della programmazione OO Il modificatore abstract Le classi
Istruzioni di selezione in Java 1
Le istruzioni del programma Istruzioni di selezione in Java Corso di laurea in Il controllo del flusso del programma Istruzioni condizionali o di selezione Istruzioni di ripetizione Espressioni condizionali
24 - Possibili approfondimenti
24 - Possibili approfondimenti Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it
Corso sul linguaggio Java
Corso sul linguaggio Java Modulo JAVA4 A2 Utilizzo di classi 1 Prerequisiti Implementazione di classi Funzionamento di una classe Parametri formali e attuali di una funzione 2 1 Introduzione In questa
Tipi user-defined. parte dichiarativa globale:
Il C mette a disposizione un insieme di tipi di dato predefiniti (tipi built-in) e dei meccanismi per definire nuovi tipi (tipi user-defined) Vediamo le regole generali che governano la definizione di
Corso di Reti di Calcolatori L-A
Università degli Studi di Bologna Facoltà di Ingegneria Corso di Reti di Calcolatori L-A Esercitazione 0 (svolta) Multithreading in Java Luca Foschini Anno accademico 2009/2010 Esercitazione 0 1 Modello
6 - Blocchi e cicli. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo
6 - Blocchi e cicli Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://pages.di.unipi.it/milazzo milazzo di.unipi.it
Introduzione all uso degli oggetti in Java (parte II) Walter Didimo
Introduzione all uso degli oggetti in Java (parte II) Walter Didimo Esercizio all uso di oggetti Nel corso viene fornita una classe i cui oggetti permettono di leggere dati immessi dalla tastiera la classe