Classi. Oggetti e classi. Creazione e inizializzazione di oggetti in C++ Distruzione di oggetti in C++
|
|
- Eugenio Carmelo Lazzari
- 7 anni fa
- Visualizzazioni
Transcript
1 Informatica 3 Informatica 3 LEZIONE 7: Fondamenti di programmazione orientata agli oggetti (1) Modulo 1: Introduzione: oggetti e classi Modulo 2: Link e associazioni Modulo 3: Aggregazione Lezione 7 - Modulo 1 Introduzione: oggetti e classi Politecnico di Milano - Prof. Sara Comai 1 Politecnico di Milano - Prof. Sara Comai 2 Linguaggi orientati agli oggetti "Linguaggi dotati di caratteristiche specifiche per la realizzazione di ADT estendibili e riusabili" punto di partenza della programmazione OO: ADT come classe incapsulamento e information hiding oggetti = istanze di realizzazioni concrete di ADT ereditarietà polimorfismo OOPL = oggetti+classi+ereditarietà+polimorfismo Oggetti Definizione: un oggetto è un concetto, un astrazione o una cosa ed ha un senso in un particolare contesto applicativo Ha due scopi: rappresentare aspetti del mondo reale fornire la base per un implementazione al calcolatore tutti gli oggetti hanno un identità e sono distinguibili Politecnico di Milano - Prof. Sara Comai 3 Politecnico di Milano - Prof. Sara Comai 4
2 Classi Oggetti e classi Una classe definisce un gruppo di oggetti con simili proprietà (attributi) e comportamenti comuni (operazioni o servizi) class { void presentati(); variabili servizi o metodi Buongiorno, sono: <nome> <cognome> In un linguaggio di programmazione orientato agli oggetti La classe definisce un nuovo tipo L oggetto è un istanza di una classe ; void main() { Persona p; Politecnico di Milano - Prof. Sara Comai 5 Politecnico di Milano - Prof. Sara Comai 6 Creazione e inizializzazione di oggetti in C++ In C++ esiste una speciale operazione di costruzione (costruttore) per inizializzare nuovi oggetti il nome del costruttore è lo stesso del nome della classe si possono definire più costruttori, caratterizzati da signature diverse Persona(); Persona(const Persona &); Persona(char*, char*); ; //costruttore di default //costruttore per copia //costruttore con parametri void main() { Persona p1; Persona p2 = p1; Persona p3( Mario, Rossi ); Persona * p4 = new Persona; Politecnico di Milano - Prof. Sara Comai 7 Distruzione di oggetti in C++ L operazione inversa viene realizzata per mezzo del distruttore il nome del distruttore è il nome della classe preceduto dal prefisso ~ si può definire un unico distruttore viene invocato quando l oggetto esce dal suo scope class { ~(); ; Politecnico di Milano - Prof. Sara Comai 8
3 Informatica 3 Link e associazioni Consentono di stabilire relazioni tra oggetti e tra classi Lezione 7 - Modulo 2 Link e associazioni Un link è una connessione concettuale o fisica tra oggetti istanziati link es: Mario Rossi lavora-per IBM Una associazione descrive un gruppo di link con strutture comuni e comune semantica descrive potenziali link nello stesso modo in cui le classi descrivono potenziali oggetti Politecnico di Milano - Prof. Sara Comai 9 Politecnico di Milano - Prof. Sara Comai 10 Link e associazioni (2) Associazioni e puntatori Un associazione è intrinsecamente bidirezionale anche se viene letta in una particolare direzione Es. la relazione lavora-per tra impiegato ad azienda definisce il fatto che una è un impiegato di un azienda e che un azienda impiega delle persone il nome indica un verso di lettura Le associazioni possono essere implementate tramite puntatori attributi di un oggetto che contengono un esplicito riferimento ad un altro oggetto Politecnico di Milano - Prof. Sara Comai 11 Implementazione dell associazione lavora-per tra Persona e Azienda: Azienda* impiegato_di; impiegato_di impiega class Azienda { Persona* impiega; Politecnico di Milano - Prof. Sara Comai 12
4 Molteplicità delle associazioni Implementazione della molteplicità Specifica quante istanze di una classe possono essere legate ad una singola istanza di una classe associata Definisce un vincolo sul numero di oggetti collegati Le molteplicità più comuni sono: uno-uno uno-molti molti-uno molti-molti La molteplicità delle associazioni tra classi dipende dal contesto applicativo l associazione lavora_per tra ed azienda potrebbe essere uno-molti ma anche molti-molti Azienda* impiegato_di; molteplicità uno-molti impiegato_di impiega class Azienda { Persona* impiega[n]; Politecnico di Milano - Prof. Sara Comai 13 Politecnico di Milano - Prof. Sara Comai 14 Associazioni come classi Un associazione potrebbe essere realizzata tramite una classe dove ogni link diventa una istanza della classe class Lavora_per { struct relationship { Persona* p; Azienda* a; ; relationship r[n]; void connect(persona*, Azienda*); Lavora_per azienda azienda Informatica 3 Lezione 7 - Modulo 3 Aggregazione Politecnico di Milano - Prof. Sara Comai 15 Politecnico di Milano - Prof. Sara Comai 16
5 Aggregazione Implementazione dell aggregazione E una relazione di tipo part-of Un oggetto rappresenta l assemblaggio di una serie di oggetti che costituiscono i suoi componenti E una speciale forma di associazione caratterizzata da una semantica aggiuntiva proprietà di transitività: A è parte di B e B è parte di C ==> A è parte di C proprietà di anti-simmetria: se A è parte di B ==> B non è parte di A propagazione o triggering: un operazione sull assemblato si propaga alla rete dei suoi sotto-componenti Rimane conveniente utilizzare una associazione quando un oggetto e il suo componente si possono considerare come indipendenti Politecnico di Milano - Prof. Sara Comai 17 class Documento { Paragrafo p[n]; class Paragrafo { Carattere c[m]; L operazione di copia di un documento si propaga dal documento ai paragrafi ai caratteri L operazione non si propaga in senso inverso La propagazione di un operazione alle sue parti è un buon indicatore della relazione di aggregazione class Carattere { Politecnico di Milano - Prof. Sara Comai 18 Costruzione e distruzione di oggetti aggregati La propagazione o triggering si applica anche alla costruzione e alla distruzione di oggetti aggregati class Documento { Paragrafo p[n]; Documento(); class Paragrafo { Carattere c[m]; Paragrafo(); class Carattere { Carattere(); Costruzione e distruzione di oggetti complessi generici Per oggetti complessi, collegati da associazioni generiche, il programmatore può esplicitare le regole con cui propagare la creazione e la distruzione di oggetti in generale: prima si crea l oggetto che a sua volta invoca il costruttore degli oggetti associati prima si distruggono gli oggetti associati e poi l oggetto stesso il costruttore di documento invocherà internamente il costruttore per la creazione di paragrafi, che a sua volta invocherà il costruttore per la creazione di caratteri lo stesso procedimento si effettua in ordine inverso durante la distruzione Politecnico di Milano - Prof. Sara Comai 19 Politecnico di Milano - Prof. Sara Comai 20
Informatica 3. LEZIONE 7: Fondamenti di programmazione orientata agli oggetti (1)
Informatica 3 LEZIONE 7: Fondamenti di programmazione orientata agli oggetti (1) Modulo 1: Introduzione: oggetti e classi Modulo 2: Link e associazioni Modulo 3: Aggregazione Informatica 3 Lezione 7 -
DettagliInformatica 3. Informatica 3. LEZIONE 8: Fondamenti di programmazione orientata agli oggetti (2) Lezione 8 - Modulo 1
Informatica 3 Informatica 3 LEZIONE 8: Fondamenti di programmazione orientata agli oggetti (2) Modulo 1: Ereditarietà Modulo 2: Polimorfismo e classi astratte Modulo 3: Visibilità delle proprietà di una
DettagliInformatica 3. LEZIONE 8: Fondamenti di programmazione orientata agli oggetti (2)
Informatica 3 LEZIONE 8: Fondamenti di programmazione orientata agli oggetti (2) Modulo 1: Ereditarietà Modulo 2: Polimorfismo e classi astratte Modulo 3: Visibilità delle proprietà di una classe Modulo
DettagliLaboratorio di programmazione
Laboratorio di programmazione Lezione VIII Tatiana Zolo tatiana.zolo@libero.it 1 PROGRAMMAZIONE A OGGETTI Quando si programma a oggetti si scompone il problema in sottogruppi di parti collegate che tengono
DettagliProgrammazione ad Oggetti
Programmazione ad Oggetti Analisi e Progettazione OO Origini Le metodologie ad oggetti nascono negli anni 70 ma si affermano solo negli anni 80 grazie alla nascita dei linguaggi di programmazione ad oggetti
DettagliDichiarazione di una classe. Dichiarazione ereditarietà
Introduzione Il Java è un linguaggio di programmazione orientato agli oggetti (OOL), perché permette di realizzare in un programma tutti i concetti alla base dell OOP quali: l astrazione dei dati, mediante
DettagliProgettazione Object-Oriented
Progettazione Object-Oriented Generalità, Relazione fra OOA e OOD Concetti di base: Classi e Oggetti, Relazioni fra oggetti, Ereditarietà e Polimorfismo La specifica del Progetto: notazione UML Una metodologia
DettagliCorso di Algoritmi e Strutture dati Programmazione Object- Oriented in Java (Parte I)
Corso di Algoritmi e Strutture dati Programmazione Object- Oriented in Java (Parte I) Ing. Gianluca Caminiti Sommario ( OOP ) Programmazione Object-Oriented Incapsulamento, Ereditarietà, Polimorfismo Richiami
DettagliLa programmazione ad oggetti (OOP)
Oggetti e Classi (CAP 10) Alberto Garfagnini, Marco Mazzocco Università degli studi di Padova 30 Novembre 2011 La programmazione ad oggetti (OOP) È un approccio concettuale alla programmazione (indipendente
DettagliFondamenti di Informatica
Relazioni tra classi Fondamenti di Informatica 27. Standard UML 2. parte Generalizzazione: (ereditarietà) relazione in cui una classe (sottoclasse) eredita gli attributi e le operazioni di una superclasse:
DettagliDefinizione di classi
Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER Domenico Daniele Bloisi Docenti Metodi Numerici prof. Vittoria Bruni vittoria.bruni@sbai.uniroma1.it Programmazione prof. Domenico
DettagliIl paradigma OO e le Classi
Oggetti e Classi (CAP 10) Alberto Garfagnini Università degli studi di Padova 1 Dicembre 2009 Il paradigma OO e le Classi La programmazione ad Oggetti () è una filosofia di programmazione che si basa sui
DettagliClassi ed Oggetti. Fondamenti di Informatica A-K
Classi ed Oggetti Fondamenti di Informatica A-K Esercitazione 5 Introduzione al calcolatore e Java Linguaggio Java, basi e controllo del flusso I metodi: concetti di base Stringhe ed array Classi e oggetti,
DettagliRichiami su oggetti e OOP
Richiami su oggetti e OOP Un oggetto (object) è una entità caratterizzata da una struttura dati alla quale si associa l insieme delle operazioni che è possibile compiere su di essa. Un oggetto può essere
DettagliReti di Connessione e Instradamento AA
Politecnico di Milano Dipartimento di Elettronica e Informazione Reti di Connessione e Instradamento AA. 2010-2011 Cenni sulla programmazione a oggetti con il C++ Massimo Tornatore (Autore delle slide:
DettagliOO - Introduzione. Oggetti. OO - Panoramica. Progettazione orientata agli oggetti
OO - Introduzione Progettazione orientata agli oggetti Introduzione alle tecniche orientate agli oggetti Modelli ad oggetti Oggetti, classi, associazioni, aggregazione Il compito del programmatore: collegare
DettagliFondamenti di Informatica
Fondamenti di Informatica (L-Z) Corso di Laurea in Ingegneria Gestionale Object Oriented Programming: Fondamenti Prof. Stefano Mariani Dott. Alket Cecaj Indice Introduzione all OOP Classi vs. oggetti Campi
DettagliIntroduzione alla programmazione orientata agli oggetti (prima parte) Rel 1.0
Introduzione alla programmazione orientata agli oggetti (prima parte) Rel 10 a cura del prof Francesco Tappi Il paradigma orientato agli oggetti implica lo sviluppo di unità di programmazione attive, chiamate
DettagliIl paradigma Object Oriented. Iolanda Salinari
Il paradigma Object Oriented Iolanda Salinari gli oggetti un oggetto è un elemento o concetto del mondo reale che può essere identificato in modo univoco: un cliente, un articolo, un impiegato ogni oggetto
DettagliModello procedurale versus modello O-O
Modello procedurale versus modello O-O Quando si scrive un programma si crea dentro il calcolatore un modello di una porzione del mondo reale. I linguaggi di programmazione procedurali consentono di costruire
DettagliStrutture come parametri di funzioni
Strutture come parametri di funzioni int main() { struct PolReg { int numlati; float lunghezzalato; PolReg p1; p1.numlati = 3; p1.lunghezzalato = 10.0; float perimetro = p1.numlati * p1.lunghezzalato;
DettagliCorso di Informatica
Corso di Informatica Modulo T1 C1 Incapsulamento e tecniche OOP 1 Prerequisiti Tecnica elementare della programmazione Principi di programmazione OOP Metodologie di progettazione software 2 1 Introduzione
DettagliUn tipo di dato astratto (ADT) definisce una categoria concettuale con le sue proprietà: una definizione di tipo
TIPI DI DATO ASTRATTO Un tipo di dato astratto (ADT) definisce una categoria concettuale con le sue proprietà: una definizione di tipo implica un dominio, D un insieme di operazioni ammissibili su oggetti
DettagliOOP in C++ ha membro (dati membro) e funzioni membro In Java i dati membro sono chiamati attributi e le funzioni membro metodi
OOP in C++ Classi e Oggetti Una classe èuntipochehavariabili ha membro (dati membro) e funzioni membro In Java i dati membro sono chiamati attributi e le funzioni membro metodi Una variabile ab di un tipo
DettagliCorso di Programmazione a oggetti
Corso di Programmazione a oggetti Introduzione alla programmazione a oggetti aa 2014/2015 Francesco Fontanella La Programmazione Modulare Un programma può essere visto come un insieme di moduli che interagiscono
DettagliFondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011
Fondamenti di Informatica 1 Prof. B.Buttarazzi A.A. 2010/2011 Sommario Paradigma OO Oggetti e Classi Metodi Parametri Variabili di istanza Costruttori Esercizi Paradigma Object-Oriented Il paradigma OO
DettagliLa programmazione ad oggetti: chiamate di metodi. Overloading. This
ISTITUTO D ISTRUZIONE SUPERIORE FERRARIS BRUNELLESCHI - EMPOLI Materia: INFORMATICA PROGRAMMA SVOLTO A.S. 2015/2016 Classe IV C Informatica Proff. Fabio Ciao / Simone Calugi Libro di testo: Cloud B P.
DettagliAnalisi Orientata agli Oggetti
Generalità Concetti di base: Oggetto, Classe, Attributo, Operazione, Associazione, Aggregazione, Generalizzazione, Ereditarietà Il Diagramma delle Classi: notazione UML 1 Generalità Approccio all analisi
DettagliSYLLABUS TRIENNIO. prof. Mauro Malatesta. Approvata dal Dipartimento di il. Approvata dal Consiglio di classe il...
Anno scolastico: 2014 2015 Classe: 4 Sez.: G Disciplina: INFORMATICA Articolazione: Informatica Docente: prof. Mauro Malatesta (firma) Approvata dal Dipartimento di il Approvata dal Consiglio di classe
DettagliPROGRAMMAZIONE INFORMATICA SECONDO BIENNIO. Liceo Scientifico opzione Scienze Applicate
PROGRAMMAZIONE INFORMATICA SECONDO BIENNIO Liceo Scientifico opzione Scienze Applicate Anno scolastico 2017-2018 Programmazione di Informatica pag. 2 / 7 INFORMATICA - SECONDO BIENNIO OBIETTIVI SPECIFICI
DettagliInformatica 3. Informatica 3. LEZIONE 2: Sintassi e semantica. Lezione 2- Modulo 1. Le componenti di un linguaggio di programmazione
Informatica 3 Informatica 3 LEZIONE 2: Sintassi e semantica Lezione 2- Modulo 1 Modulo 1: Introduzione ai concetti di sintassi e semantica Modulo 2: Il concetto di binding Modulo 3: Variabili Modulo 4:
DettagliProgrammazione Java Avanzata Programmazione Object- Oriented in Java
Programmazione Java Avanzata Programmazione Object- Oriented in Java Ing. Gianluca Caminiti Testi di Riferimento (Java) Cay Horstmann Concetti di informatica e fondamenti di Java Apogeo, 2007 (Versione
DettagliLinguaggi di Programmazione
Linguaggi di Programmazione Corso di Laurea in Informatica Astrarre sui dati Valeria Carofiglio (Questo materiale è una rivisitazione del materiale prodotto da Nicola Fanizzi) Obiettivi tipi di dato astratti
DettagliINTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica
Fondamenti di Informatica INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA Fondamenti di Informatica - D. Talia - UNICAL 1 Fondamenti di Informatica - Programma Un programma è una formulazione
DettagliINTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA. Fondamenti di Informatica - Programma
Fondamenti di Informatica INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA Fondamenti di Informatica - D. Talia - UNICAL 1 Fondamenti di Informatica - Programma Un programma è una formulazione
DettagliProgrammi e Oggetti Software
Corso di Laurea Ingegneria Civile Fondamenti di Informatica Dispensa 06 Programmi e Oggetti Software Marzo 2010 Programmi e Oggetti Software 1 Contenuti Cosa è un programma Cosa significa programmare Il
DettagliISTITUTO STATALE D ISTRUZIONE SUPERIORE FERRARIS - BRUNELLESCHI EMPOLI Anno scolastico 2015/2016
ISTITUTO STATALE D ISTRUZIONE SUPERIORE FERRARIS - BRUNELLESCHI EMPOLI Anno scolastico 2015/2016 Classe: 4^A inf Prof.ssa Lami Carla Prof. Simone Calugi Programma di INFORMATICA GENERALE, APPLICAZIONI
DettagliIngegneria del Software
Ingegneria del Software Analisi Object Oriented ed Elementi di Programmazione OO Origini Le metodologie ad oggi nascono negli anni 70 ma si affermano solo nelgi anni 80 grazie alla nascita dei linguaggi
DettagliProgrammi e Oggetti Software
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa 2 Programmi e Oggetti Software Alfonso Miola Settembre 2007 http://www.dia.uniroma3.it/~java/fondinf1/ Programmi e Oggetti Software
DettagliFondamenti di Informatica T-1
Fondamenti di Informatica T-1 Classi e Oggetti Tutor: Allegra De Filippo allegra.defilippo@unibo.it a.a. 2016/2017 Fondamenti di Informatica T-1 Allegra De Filippo 1 / 19 CLASSE: definizione Costrutto
DettagliUnità A2. Progettazione concettuale. Obiettivi. Astrazione. Astrazione per aggregazione
Obiettivi Unità A2 Progettazione concettuale Imparare ad astrarre i dati per definire entità. Saper distinguere tra astrazione per classificazione, per aggregazione e per generalizzazione. Saper distinguere
DettagliCatia Trubiani. Laboratorio di Ingegneria del Software a.a
Università degli Studi dell Aquila Laboratorio di Ingegneria del Software a.a. 2013-2014 Catia Trubiani Dipartimento di Ingegneria e Scienze dell'informazione e Matematica (DISIM) - Università degli Studi
DettagliPOLITECNICO DI MILANO ESAME DI INFORMATICA 3 Prof.ssa Sara Comai Anno Accademico 2003/2004 I Prova in itinere - Laurea On Line SOLUZIONI
POLITECNICO DI MILANO ESAME DI INFORMATICA 3 Prof.ssa Sara Comai Anno Accademico 2003/2004 I Prova in itinere - Laurea On Line SOLUZIONI ESERCIZIO 2 (SEMANTICA) 1) Passaggio dei parametri per valore 3
DettagliCorso di Informatica
Corso di Informatica Modulo T1 B1 Il concetto di classe 1 Prerequisiti Programmazione elementare Conoscenza dell uso delle funzioni Utilizzo della UML 2 1 Introduzione Gli oggetti reali sono una infinità
DettagliINFORMATICA OOP Relazioni tra classi Roberta Gerboni
2015 - Roberta Gerboni Relazione di associazione E possibile legare varie classi presenti in un progetto con una relazione di associazione. Una associazione individua una connessione logica tra classi
DettagliAlgoritmi e Strutture Dati
Algoritmi e Strutture Dati A.A. 15/16 Informatica Università degli Studi di Bari Aldo Moro Nicola Di Mauro Contatti Studio: stanza 513, V piano DIB Telefono: 080 544 2297 email: nicola.dimauro@di.uniba.it
DettagliTipi riferimento e stringhe
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa 8 Tipi riferimento e stringhe A. Miola Novembre 2006 http://www.dia.uniroma3.it/~java/fondinf1/ Tipi riferimento e stringhe 1
DettagliInformatica 3. Informatica 3. Lezione 1- Modulo 1. LEZIONE 1: Introduzione. Concetti di linguaggi di programmazione. Introduzione
Informatica 3 Informatica 3 LEZIONE 1: Introduzione Lezione 1- Modulo 1 Modulo 1: Introduzione al corso Modulo 2: Introduzione ai linguaggi di Introduzione al corso Politecnico di Milano - Prof. Sara Comai
Dettagli14 - 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
DettagliCapitolo 6. Linguaggi di Programmazione. Mauro Giacomini Pearson Addison-Wesley. All rights reserved
Capitolo 6 Linguaggi di Programmazione Mauro Giacomini 2007 Pearson Addison-Wesley. All rights reserved Capitolo 6: Linguaggi di programmazione 6.1 Prospettiva storica 6.2 Concetti della programmazione
DettagliCLASS DIAGRAM PARTE 1
Istituto di Scienza e Tecnologie dell'informazione A. Faedo Software Engineering Laboratory CLASS DIAGRAM PARTE 1 UML The Unified Modeling Language Guglielmo De Angelis guglielmo.deangelis@isti.cnr.it
DettagliPROGRAMMAZIONE ORIENTATA AGLI OGGETTI
PROGRAMMAZIONE ORIENTATA AGLI OGGETTI Introduzione IL FERMENTO DEGLI ANNI 70 Hardware (8080, costi, dimensioni) Applicare le tecnologie informatiche ad ambiti più complessi. Database OOP Dati più importanti
DettagliProgrammazione a Oggetti Lezione 8. Definizioni di Classi II
Programmazione a Oggetti Lezione 8 Definizioni di Classi II Sommario Costruzione di un oggetto Processo complesso che comprende varie fasi: 1. Allocare spazio per ogni campo - in ordine testuale - inizializza
DettagliOggetti. 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
DettagliObject-Oriented Programming
Object-Oriented Programming Una metodologia di programmazione che consente di modellare la realtà in modo più naturale e vicino all uomo Concetti fondamentali Oggetto Incapsulazione Messaggio Classe Ereditarietà
DettagliClassi. Meccanismi di Rappresentazione e Scoperta. Andrea Polini
Classi Meccanismi di Rappresentazione e Scoperta Andrea Polini Laboratorio di Ingegneria del Software Corso di Laurea in Informatica L31 Univesità di Camerino (Laboratorio di Ingegneria del Software) Classi
DettagliPROGRAMMAZIONE DIDATTICA DI DIPARTIMENTO A.S. 2017/2018
ISTITUTO ISTRUZIONE SUPERIORE EINAUDI - SCARPA TECNOLOGICO - ECONOMICO PROFESSIONALE Via J. Sansovino, 6-31044 MONTEBELLUNA (TV)0423 23587 - Fax 0423 602717 web: www.iiseinaudiscarpa.gov.itemail: info@iiseinaudiscarpa.gov.it
DettagliMotivazioni OBIETTIVO
Motivazioni Crisi Dimensionale del software Crisi Gestionale del software Oggetti 1 OBIETTIVO Costruzione di software ben organizzato, modulare, protetto, riusabile, riconfigurabile (dinamicamente?), flessibile,
DettagliCorso di Programmazione ad Oggetti
Corso di Programmazione ad Oggetti Costruttori di copia, funzioni di accesso e variabili static aa 2008/2009 Claudio De Stefano Claudio De Stefano - Corso di Programmazione ad Oggetti - aa 2008/2009 1
DettagliAstrazione Dati. Nicola Fanizzi. Linguaggi di Programmazione [010194] 10 mag, Dipartimento di Informatica Università degli Studi di Bari
Astrazione Dati Nicola Fanizzi Dipartimento di Informatica Università degli Studi di Bari Linguaggi di Programmazione [010194] 10 mag, 2016 Sommario 1 Astrazione dati Incapsulamento Esempio / ADT pila
DettagliDISPENSE DI PROGRAMMAZIONE LINGUAGGI A TIPIZZAZIONE FORTE: IL COSTRUTTO DI TIPO. TIPI SEMPLICI: TIPI PRE-DEFINITI E TIPI DEFINITI DAL PROGRAMMATORE.
DISPENSE DI PROGRAMMAZIONE Modulo 3 Linguaggi di programmazione: dati e controllo (Parte I) LINGUAGGI A TIPIZZAZIONE FORTE: IL COSTRUTTO DI TIPO. TIPI SEMPLICI: TIPI PRE-DEFINITI E TIPI DEFINITI DAL PROGRAMMATORE.
DettagliStrutture dati. Il che cosa e il come. F. Damiani - Alg. & Lab. 04/05
Strutture dati Il che cosa e il come Il che cosa ed il come Struttura dati: descrive come sono organizzati i dati e come sono realizzate le operazioni su di essi (cioe come si accede ai dati) Specifica
DettagliCorso di Linguaggi di Programmazione
Corso di Linguaggi di Programmazione Lezione 16 Alberto Ceselli alberto.ceselli@unimi.it Dipartimento di Informatica Università degli Studi di Milano 30 Aprile 2013 Progetto ed analisi di algoritmi: problemi
DettagliCalcolatori Elettronici III
Slide 1 Politecnico di Torino sede di Alessandria Calcolatori Elettronici III ing. Dino Canonico dip. di Automatica e Informatica telefono: 011 564 7036 posta elettronica: dino@polito.it Slide 2 Indice
DettagliCorso sul linguaggio Java
Corso sul linguaggio Java Modulo JAVA3 3B1 Record e tabelle 1 Prerequisiti Programmazione elementare in Java Vettore e matrici Concetto di record Concetto di tabella 2 1 Introduzione In questa Unità vediamo
Dettaglicostruttori e distruttori
Costruttore costruttori e distruttori E un metodo che ha lo stesso nome della classe a cui appartiene: serve per inizializzare un oggetto all atto della sua creazione Ce ne possono essere uno, più di uno,
DettagliBasi di dati a oggetti
Basi di dati a oggetti A L B E R T O B E L U S S I S I S T E M I I N F O M A T I V I G E O G R A F I C I E M U L T I M E D I A L I A N N O A C C A D E M I C O 2 0 1 1 / 1 2 Aree applicative emergenti Progettazione
DettagliProgrammazione ad oggetti
Programmazione ad oggetti OOP La programmazione orientata agli oggetti (Object Oriented Programming) ha l obiettivo di formalizzare gli oggetti del mondo reale e di costruire con questi un mondo virtuale.
DettagliDefinizione di classi. Walter Didimo
Definizione di classi Walter Didimo Definizione di classi Fino ad ora abbiamo imparato a: creare oggetti da classi già pronte usare gli oggetti creati, invocando metodi la creazione e l uso di oggetti
DettagliLaboratorio di Algoritmi e Strutture Dati. Esercizi
Laboratorio di Algoritmi e Strutture Dati Esercizi Teresa M.A. Basile basile@di.uniba.it Dipartimento di Informatica Università degli Studi di Bari Aldo Moro 1 Operatori Indispensabili Ogni Classe che
DettagliProgrammazione 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
DettagliProgrammazione orientata agli oggetti
Programmazione orientata agli oggetti La programmazione orientata agli oggetti (OOP, Object Oriented Programming) è un paradigma di programmazione che prevede di raggruppare in un unica entità (la classe)
DettagliComponenti software. Obiettivi
Componenti software Obiettivi Introdurre le tipologie di componente software e la nozione di Abstract Data Type Mostrare come realizzare un ADT in linguaggio C 1 Componenti software Librerie Astrazioni
DettagliGli oggetti. Ogni oggetto ha un interfaccia e ogni oggetto ha un tipo. Incapsulamento. Oggetti. Contatore. Invio di Messaggi
Gli oggetti Linguaggi di Programmazione: Paradigmi di Programmazione (Sperimentazioni) Matteo Baldoni Dipartimento di Informatica Universita` degli Studi di Torino C.so Svizzera, 185 I-149 Torino Ogni
DettagliLa programmazione orientata agli oggetti. Simone Campagna Massimiliano Culpo
La programmazione orientata agli oggetti Simone Campagna Massimiliano Culpo Perché nasce l'esigenza dell'approccio OO Il punto di forza del paradigma OO è costituito dalla capacità di gestione della complessità.
DettagliI 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
DettagliCorso di Laboratorio 2 Programmazione C++ Silvia Arcelli. 24 Ottobre 2014
Corso di Laboratorio 2 Programmazione C++ Silvia Arcelli 24 Ottobre 2014 1 Una funzione membro importante: il costruttore In logica OOP l accesso allo stato interno di un istanza deve avvenire solo attraverso
DettagliInformatica 3. Informatica 3. LEZIONE 5: Tipi di dati. Lezione 5 - Modulo 1. Tipi predefiniti. Introduzione
Informatica 3 Informatica 3 LEZIONE 5: Tipi di dati Lezione 5 - Modulo 1 Modulo 1: Tipi e costruttori di tipo Modulo 2: Tipi definiti dall utente e tipi di dati astratti Modulo 3: Sistemi di tipi Tipi
DettagliOggetti. La programmazione orientata agli oggetti, OOP (Object-Oriented Programming), prende il nome dall elemento su cui si basa, l oggetto.
Classi e oggetti Oggetti La programmazione orientata agli oggetti, OOP (Object-Oriented Programming), prende il nome dall elemento su cui si basa, l oggetto. OOP Vantaggi facilità di lettura e di comprensione
DettagliParadigma a oggetti. Programmazione orientata agli oggetti. Programmazione orientata agli oggetti Paradigma a oggetti 1 / 30
Paradigma a oggetti Programmazione orientata agli oggetti Programmazione orientata agli oggetti Paradigma a oggetti 1 / 30 Programmazione ad oggetti. Si estendono i tipi di dati astratti che permettono:
DettagliProgrammazione ad oggetti. Paradigma a oggetti. Esempio. Esempio L estensione del tipo di dato comporta la ridefinizione del codice
Programmazione ad oggetti. Paradigma a oggetti Programmazione orientata agli oggetti Si estendono i tipi di dati astratti che permettono: information hiding e incapsulamento nascondo la rappresentazione
DettagliTIPI DI DATO ASTRATTO
TIPI DI DATO ASTRATTO Un tipo di dato astratto (ADT) definisce una categoria concettuale con le sue proprietà: una definizione di tipo implica un dominio, D un insieme di operazioni ammissibili su oggetti
DettagliCorso di Informatica
Corso di Informatica Modulo T5 1-Struttura Record 1 Prerequisiti Programmazione elementare Concetto di prodotto cartesiano Dati strutturati 2 1 Introduzione Lo scopo di questa Unità è introdurre il concetto
DettagliTIPI DI DATO ASTRATTO
TIPI DI DATO ASTRATTO Un tipo di dato astratto (ADT) definisce una categoria concettuale con le sue proprietà: una definizione di tipo implica un dominio, D un insieme di operazioni ammissibili su oggetti
DettagliAlcune info sulle prossime lezioni
Università degli Studi dell Aquila Laboratorio di Ingegneria del Software a.a. 2013-2014 Catia Trubiani Dipartimento di Ingegneria e Scienze dell'informazione e Matematica (DISIM)- Università degli Studi
DettagliCorso di Laurea Ingegneria Civile Fondamenti di Informatica. Dispensa 07. Oggetti e Java. Marzo Programmazione Java 1
Corso di Laurea Ingegneria Civile Fondamenti di Informatica Dispensa 07 Oggetti e Java Marzo 2010 Programmazione Java 1 Contenuti Il linguaggio Java Applicazioni Java e il metodo main Esempi di applicazioni
DettagliFondamenti di Informatica e Programmazione
Fondamenti di Informatica e Programmazione Prof. G ianni D Angelo Email: giadangelo@unisa.it A. A. 2018/19 Dati e Basi di Dati 1/4 I dati sono importanti poiché costituiscono una risorsa aziendale La loro
DettagliCorso di Linguaggi di Programmazione
Corso di Linguaggi di Programmazione Lezione 15 Alberto Ceselli alberto.ceselli@unimi.it Dipartimento di Tecnologie dell Informazione Università degli Studi di Milano 05 Maggio 2009 Programming in the
DettagliRiassunto: cos è la OOP? classi astratte, interfacce, classi interne. Scaletta. Figura con area()? Figura senza area()? Stefano Mizzaro 1.
OO in Java: classi astratte, interfacce, classi interne Stefano Mizzaro Dipartimento di matematica e informatica Università di Udine http://www.dimi.uniud.it/mizzaro mizzaro@dimi.uniud.it Programmazione,
DettagliLezione 5 Namespace e JavaDoc
Lezione 5 Namespace e JavaDoc Vittorio Corso di Programmazione Distribuita Laurea di I livello in Informatica Università degli Studi di Salerno Organizzazione della lezione Il namespace di Java: i package
DettagliMetodi Avanzati di Programmazione Informatica Triennale-Brindisi Corrado Loglisci
INSEGNAMENTO ANNO ACCADEMICO CORSO DI LAUREA IN DOCENTE ANNO DI CORSO Metodi Avanzati di Programmazione 213-214 Informatica Triennale-Brindisi Corrado Loglisci II II SEMESTRE N CREDITI LEZIONI FRONTALI:
DettagliPROGETTAZIONE DI BASE DI DATI. Metodologie e modelli
PROGETTAZIONE DI BASE DI DATI Metodologie e modelli Argomenti della lezione Ciclo di vita dei sistemi informativi Metodologie di progettazione Fasi del progetto di una base di dati Introduzione al modello
DettagliFondamenti di Programmazione Prof.ssa Elisa Tiezzi. Programmazione orientata a oggetti
Fondamenti di Programmazione Prof.ssa Elisa Tiezzi Programmazione orientata a oggetti 1 Programmazione OO Concetti base: dati istruzioni Dati: variabili tipi Istruzioni: istruzioni base strutture di controllo
DettagliProgrammazione con Java
Programmazione con Java Astrazioni e UML Astrazioni Nella vita reale siamo abituati a osservare e descrivere oggetti a vari livelli di dettaglio Dai da mangiare a Fido Porta a passeggio il cane Di quale
DettagliInformatica I. Ingegneria Medica. Prof. Diego Salamon
Informatica I Ingegneria Medica Prof. Diego Salamon Java: Classi e Oggetti Prof. Diego Salamon Metafore Classi e Oggetti sono un astrazione della realtà. I linguaggi orientati agli oggetti contengono livelli
DettagliNON ABBIAMO ANCORA CORRETTO LE PROVETTE!!!
NON ABBIAMO ANCORA CORRETTO LE PROVETTE!!! OO in Java: classi astratte, interfacce, classi interne Stefano Mizzaro Dipartimento di matematica e informatica Università di Udine http://www.dimi.uniud.it/mizzaro/
DettagliProgrammazione ad oggetti
Programmazione ad oggetti Tipi di dati Tipo = insieme di valori + insieme di operazioni Es. int: valori:, -2, -1, 0, 1, 2, operazioni:: +,-,*,/,
DettagliObject Oriented Programming
Object Oriented Programming Paradigmi di programmazione Linguaggi procedurali Linguaggi a oggetti Linguaggio macchina VisualBasic Delphi VB.NET Fortran Cobol Basic Pascal C C++ Java C# 1940 1950 1960 1970
Dettagli