Fondamenti di Informatica 2 Ingegneria Informatica Docente: Giovanni Macchia a.a. 2002-2003.

Slides:



Advertisements
Presentazioni simili
Programmazione ad oggetti
Advertisements

C C++ &.
Corso di Fondamenti di Programmazione canale E-O
Sottoprogrammi: funzioni e procedure
Funzioni Friend Come abbiamo visto non possiamo accedere a membri privati di una classe dall'esterno della classe. Ma a volte abbiamo bisogno di farlo.
Recupero debito quarto anno Primo incontro
Informatica Recupero debito quarto anno Terzo incontro.
IL LINGUAGGIO HTML Il linguaggio html. Il linguaggio html. Utilizzo dei tag. Utilizzo dei tag. Script Browser I link I link Caricamento dei dati sul server.
Informatica 2 Lezione 4 Corso di laurea in matematica Informatica 2 Dott. Ing. Leonardo Vito Corso di laurea matematica indirizzo matematica per le applicazioni.
Differenze nei vari linguaggi di Elisa Trifirò e Barbara Tacchino
Differenze tra C e C++ Commenti: Adesso puoi inserire dei commenti tra // e la fine della linea. Usare le librerie C: In C++ puoi anche chiamare una funzione.
Fondamenti di Informatica
Fondamenti di Informatica 2 Ingegneria Informatica Docente: Giovanni Macchia a.a
Costruzione di Interfacce Lezione 12 C++STL
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Introduzione a JAVA Anno Accademico 2009/2010.
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Variabili e tipi primitivi Anno Accademico 2009/2010.
1 Corso di Informatica (Programmazione) Lezione 12 (19 novembre 2008) Programmazione in Java: i metodi statici.
Derivazione tra classi
Overriding.
Programmazione Corso di laurea in Informatica
Approfondimento delle classi
Dichiarazione di classi Programmazione Corso di laurea in Informatica.
Lab. Calc. 2005/06 Ereditarietà. Lab. Calc. 2005/06 Scopo di questa lezione: Imparare a creare nuove classi ereditando da classi già esistenti. Capire.
Sistemi Operativi GESTIONE DEI PROCESSI.
Esercizi Puntatori, struct con campi puntatore, puntatori a struct, rapporto tra array e puntatori. FUNZIONI Passaggio di parametri per indirizzo, passaggio.
Algebra Lineare Esercizi assegnati.
Programmazione modulare nel linguaggio C
Lezione IX Laboratorio di Programmazione. Le Classi Una classe C++ è definita come segue: class Nomeclasse { private: // metodi e attrib. visibili solo.
Elementi di programmazione ad oggetti a. a. 2009/2010 Corso di Laurea Magistrale in Ingegneria Elettronica Docente: Mauro Mazzieri, Dipartimento di Ingegneria.
Elementi di programmazione ad oggetti a. a. 2009/2010 Corso di Laurea Magistrale in Ingegneria Elettronica Docente: Mauro Mazzieri, Dipartimento di Ingegneria.
Elementi di programmazione ad oggetti a. a. 2009/2010 Corso di Laurea Magistrale in Ingegneria Elettronica Docente: Mauro Mazzieri, Dipartimento di Ingegneria.
Elementi di programmazione ad oggetti a. a. 2009/2010 Corso di Laurea Magistrale in Ingegneria Elettronica Docente: Mauro Mazzieri, Dipartimento di Ingegneria.
Componenti fondamentali di un programma Java
I Metodi in Java Il termine "metodo" è sinonimo di "azione". Quindi, affinché un programma esegua qualche istruzione, deve contenere metodi.
15 maggio 2002 Avvisi: Ultima lezione: mercoledì 29 maggio II Esonero: mercoledì 5 giugno, ora da stabilire.
2000 Prentice Hall, Inc. All rights reserved. Capitolo 10 (Deitel) Strutture, unioni ed enumerazioni Sommario Introduzione Definire le strutture.
Enumerazioni e Classi 1. Enumerazioni Permettono di definire nuovi tipi che consistono in un insieme di valori costanti (ognuno con un nome) – Migliorano.
Fondamenti di Programmazione Prof.ssa Elisa Tiezzi
ISTITUTO STATALE DI ISTRUZIONE SUPERIORE F. ENRIQUES CORSO JAVA – PROVA FINALE DEL 21 MAGGIO 2007 NOME: COGNOME: ________________________________________________________________________________.
ISTITUTO STATALE DI ISTRUZIONE SUPERIORE F. ENRIQUES CORSO JAVA – PROVA INTERMEDIA DEL 12 MARZO 2007 NOME: COGNOME: ________________________________________________________________________________.
I metodi F. Bombi Campi e metodi Abbiamo visto che una classe può contenere – Campi – Metodi stato I campi sono utilizzati per memorizzare.
Ugo de'Liguoro - Informatica 2 a.a. 03/04 Lez. 9 Tipi parametrici Collezioni generiche. Strutture matematiche parametriche.
Fondamenti di Informatica 2 Ingegneria Informatica Docente: Giovanni Macchia a.a
1 FONDAMENTI DI INFORMATICA II Ingegneria Gestionale a.a ° Ciclo Polimorfismo.
Le variabili in Java Nella programmazione tradizionale, una variabile è una porzione di memoria in cui è immagazzinato un certo tipo di dato. Per esempio.
Programmazione ad oggetti
Fondamenti di Informatica 2 Ingegneria Informatica Docente: Giovanni Macchia a.a
1 FONDAMENTI DI INFORMATICA II Ingegneria Gestionale a.a ° Ciclo Template.
Ereditarieta’. Contenuti Introduciamo un meccanismo fondamentale di Java: l’ereditarieta’ Permette di estendere classi gia’ definite (ovvero di definire.
Fondamenti di Informatica II Ingegneria Informatica Prof. M.T. PAZIENZA a.a – 3° ciclo.
Fondamenti di Informatica 2 Ingegneria Informatica Docente: Giovanni Macchia a.a
Informatica 4 Funzioni. FUNZIONE: definizione MATEMATICA Relazione (o applicazione) binaria tra due insiemi A e B che associa a ogni elemento di A un.
Ugo de'Liguoro - Informatica 2 a.a. 03/04 Lez. 7 Tipi di dato e strutture dati Specifica e realizzazione di strutture informative come classi.
Fondamenti di Informatica 2 Ingegneria Informatica Docente: Giovanni Macchia a.a
Fondamenti di Informatica 2 Ingegneria Informatica Docente: Giovanni Macchia a.a
1 FONDAMENTI DI INFORMATICA II Ingegneria Gestionale Dott. Giorgio Cicerchia a.a ° Ciclo.
Lezione X Laboratorio di Programmazione. Struttura di un programma Definizione classe e specifica (parziale) classe.hclasse.cpp main.cpp Specifica metodi.
Progettare una classe 21 Febbraio La classe BankAccount Vogliamo realizzare una classe i cui oggetti sono dei semplici conti bancari. * Identifichiamo.
Esercitazione del 9 marzo 2007 Ereditarieta’. Richiami Definire sottoclassi (ereditarieta’) Overriding Specificatori di accesso (private, protected) Principio.
1 FONDAMENTI DI INFORMATICA II Ingegneria Gestionale a.a ° Ciclo Strutture e Classi.
Fondamenti di Informatica 2 Ingegneria Informatica Docente: Giovanni Macchia a.a
Fondamenti di informatica T-A Esercitazione 3 : Classi, metodi, visibilità, metodi statici AA 2012/2013 Tutor : Domenico Di Carlo.
Corso di Algoritmi e Strutture Dati con Laboratorio Richiami di Java – parte II.
13/08/02Input 1 Interagire con il computer Da tastiera Da riga di comando Funzioni di conversione.
XVRC2 Emanuele Ruffaldi Giugno Tre esperimenti con S3D ► Estensioni del Linguaggio ► Pre-Compilatore ► Esecuzione dentro il Java L C J.
Introduzione alle Classi e agli Oggetti in Java 1.
Transcript della presentazione:

Fondamenti di Informatica 2 Ingegneria Informatica Docente: Giovanni Macchia a.a

Template Una delle problematiche più attuali del software è il riutilizzo del codice in altri contesti. La possibilità del riuso del software comporta una notevole economia a livello di produzione, consentendo una immissione anticipata sul mercato del prodotto software. Il C++ favorisce il riuso del software tramite lo strumento dei template. I template consentono di creare delle funzioni template e delle classi template.

Template: Funzioni template Se le operazioni compiute su ogni tipo di dato sono le stesse, si utilizzano le funzioni template. Una funzione template prende la forma generale con la parola chiave template: template tipo_ritorno funzione (lista_parametri) {corpo della funzione} Tipo1, Tipo2,… sono dei tipi che possono essere usati dalla funzione ed essere impiegati all’interno della funzione.

Template: Funzioni template Es: template void swap(X &a, X&b) { X tmp; tmp =a; a = b; b= tmp; } int a,b; float c,d; swap (a,b); swap (c,d);

Template: Funzioni template Quando il compilatore crea una versione specifica di una funzione template, si parla di creazione di specializzazione, chiamata anche funzione generata. L’atto di generare una funzione viene definito con il termine istanziare. Una funzione generata è quindi un’istanza specifica di una funzione template. E’ possibile usare parametri standard com parametri di tipo generico in una funzione template. E’ possibile effettuare l’overloading delle funzioni template.

Template: Classi template Le classi template consentono di definire delle classi che sfruttano una logica che può essere generalizzata. Una classe template prende la forma generale: template class nome_classe {corpo della classe} Tipo1, Tipo2,… sono dei tipi che possono essere usati dalla classe ed essere impiagati all’interno della classe.

Template: Classi template Per istanziare un oggetto di classe template, si usa la forma nome_classe nome_oggetto; Es.: template class queue { X q[100]; int r,s; public: queue ( ) ; void qput(X i); X qget ( ); } queue a; queue b;

Template: Classi template E’ possibile avere argomenti di default ad uno o più tipi generici. Es.: template class queue { X q[100]; int r,s; public: queue ( ) ; void qput(X i); X qget ( ); } queue <> a; // viene creata una coda di interi queue b;

Template: Classi template E’ possibile usare argomenti non di tipo nella specifica di template. template class queue { X q[SIZE]; int r,s; public: queue ( ) ; void qput(X i); X qget ( ); } queue a; queue b; queue c;