Il processo di astrazione: le classi OOP. Introduzione alla programmazione a ogge2. DisBnguere gli ogge2. Gli ogge2 del mondo reale

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Il processo di astrazione: le classi OOP. Introduzione alla programmazione a ogge2. DisBnguere gli ogge2. Gli ogge2 del mondo reale"

Transcript

1 OOP Introduzione alla programmazione a ogge2 A. Ferrari La programmazione orientata agli ogge. (Object Oriented Programming) ha l obiettivo di formalizzare gli ogge. del mondo reale e di costruire con quesb un mondo virtuale. Questa parte di mondo che viene ricostruita in modo virtuale è defa dominio applica3vo. Gli ogge2 del mondo reale QuoBdianamente interagiamo con ogge2 del mondo che ci circonda Ogge2: animali piante tu2 gli ogge2 inanimab del mondo reale un pensiero, una filosofia o più in generale un enbtà astrafa. Un esempio di oggefo astrafo: il voto DisBnguere gli ogge2 Esempio: un bicchiere Ne sappiamo definire le caraferisbche e conosciamo anche quali azioni si possono fare con esso. Possiamo definirne la forma, il colore, il materiale di cui è fafo e possiamo dire se è pieno o vuoto. Sappiamo anche che si può riempire e svuotare. Abbiamo definito un oggefo afraverso le sue caraferisbche le operazioni che può compiere Il livello di astrazione I linguaggi di programmazione si sono evolub in modo che i codici sorgenb potessero astrarsi sempre più dal modo in cui gli stessi, una volta compilab, sarebbero stab eseguib. Nella OOP non ci si vuole più porre i problemi dal punto di vista del calcolatore, ma si vogliono risolvere facendo interagire ogge2 del dominio applicabvo come fossero ogge2 del mondo reale. L obie2vo è di dare uno strumento al programmatore, per formalizzare soluzioni ai propri problemi, pensando come una persona e senza doversi sforzare a pensare come una macchina. Il processo di astrazione: le classi Per popolare il dominio applicabvo ublizzato dall applicazione è necessario creare gli ogge., e per fare questo è necessario definire le classi. Una classe è lo strumento con cui si idenbfica e si crea un oggefo. 1

2 Una classe è un modello per la creazione di ogge2 La classe è paragonabile allo stampo Gli ogge2 sono i bisco2 ofenub con quello stampo Classi e Bpi di dato Una classe è a tu2 gli effe2 un Bpo di dato (come gli interi e le stringhe e ogni altro Bpo già definito) Un Bpo di dato è definito dall insieme di valori e dall insieme delle operazioni che si possono effefuare su quesb valori Nella programmazione orientata agli ogge2, è quindi possibile sia ublizzare Bpi di dato esistenb, sia definirne di nuovi tramite le classi I nuovi Bpi di dato si definiscono ADT (Abstract Data Type) Incapsulamento (informabon hiding) Nascondere il funzionamento interno (la strufura interna) Fornire un interfaccia esterna che permefa l ublizzo senza conoscere la strufura interna Diagramma delle classi La prima sezione conbene il nome della classe La seconda sezione definisce i suoi afribub La terza i metodi, le operazioni che si possono compiere sull oggefo hfp:// Un esempio Le classi in Java Automobile marca modello colore targa cambiatarga cambiacolore [modificatore] class [nome della classe]{ [attributi] [metodi] class MiaClasse { String mioattributo; void miometodo() { 2

3 Classe Metodi e AFribuB Gli ogge2 public class SchedaAnagrafica {!! private String nome;!! private String cognome;!! public String getnome() {! return nome;!! public void setnome(string nome) {!! this.nome = nome;!! public String getcognome() {! return cognome;!! public void setcognome(string cognome) {! this.cognome = cognome;!!! SchedaAnagrafica -nome:string -cognome:string +getnome():string +setnome(nome:string):void +getcognome():string +setcognome(cognome:string):v Gli ogge2 sono le enbtà di un programma che interagiscono tra loro per raggiungere un obie2vo Gli ogge2 vengono creab in fase di esecuzione ed ognuno di essi fa parte di una categoria (di una classe) Ogni classe può creare più ogge2, ognuno dei quali pur essendo dello stesso Bpo è disbnto dagli altri Un oggefo è l istanza di una classe IdenBtà tra ogge2 Anche se due ogge2 dello stesso Bpo hanno tu2 gli afribub con gli stessi valori, non sono uguali, ma sono ogge2 disbnb Sarebbe come dire che due gemelli, solamente perché idenbci fisicamente, siano la stessa persona: ovviamente è scorrefo Un esempio di classe Se vogliamo catalogare i cd musicali in nostro possesso, abbiamo bisogno di implementare un programma nel cui dominio applicabvo è presente la classe CD I metodi della classe CD servono per impostare e recuperare i valori degli afribub Diagramma degli ogge2 I diagrammi che rappresentano gli ogge2 (Object Diagram in UML) mefono in luce i valori che assumono gli afribub Stato di un oggefo L insieme dei valori degli afribub di un oggefo è chiamato stato dell oggefo e generalmente può variare in funzione del tempo 3

4 Creazione di un oggefo Per creare un oggefo si effefua un istanziazione di una classe. In questa fase viene riservato uno spazio di memoria per conservare i valori degli afribub dell oggefo che si sta creando (per mantenere memorizzato da qualche parte lo stato dell oggefo) Istanziare un oggefo in Java A seconda del linguaggio ublizzato si impiegano diversi costru2 di programmazione per creare un oggefo In Java la creazione di un oggefo si effefua mediante l istruzione new Esempio: Bicchiere calice; calice = new Bicchiere(); Oppure: Bicchiere calice = new Bicchiere(); Gli afribub di istanza Gli afribub di istanza sono quelli possedub da un oggefo, chiamab anche più semplicemente a5ribu3. L afributo di un oggefo è una variabile che ne descrive una caraferisbca o proprietà AFribuB costanb Un afributo costante è un afributo il cui valore non cambia nel tempo ma resta invariato. In Java per dichiarare una costante si ublizza il modificatore final. public class Calendario { public final int numerodeimesi = 12; // Metodi il valore di numerodeimesi non può essere modificato, ma resta invariato nel corso dell esecuzione del codice. AFribuB di classe Un afributo di classe è un afributo condiviso da tufe le istanze della classe, ovvero da tu2 gli ogge2 creab con essa. In Java per dichiarare un afributo di classe si ublizza il modificatore static. public class Gatto { public static int numerodigatti = 0; public Gatto() { numerodigatti ++; Ogni volta che viene creato un oggefo di Bpo Gatto, il contatore numerodigatti è automabcamente incrementato di uno. La sintassi per accedere ad un afributo di classe è: <NomeClasse>.<NomeAttributo> per esempio System.out.print(Gatto.numeroDiGatti); Metodi: le azioni degli ogge2 Un metodo è un azione che l oggefo può eseguire. In Java la dichiarazione di un metodo è composta da: Modificatore Nome del metodo Tipo di dato da ritornare Tipo e nome dei parametri di ingresso Eventuali eccezioni sollevate TuFo questo è defo firma del metodo. 4

5 Metodi di istanza Un metodo di istanza è un metodo che, per essere ublizzato, ha bisogno della creazione di un oggefo della classe a cui apparbene su cui essere invocato. Un metodo di istanza è anche chiamato semplicemente metodo. Esempio di firma public int studia(string testo) throws HoStudiatoTroppoException public è il modificatore int è il Bpo del metodo studia è il nome del metodo String testo è il Bpo e nome dei parametri HoStudiatoTroppoException è la possibile eccezione sollevata Formalizzare i metodi Un esempio: afribub Si vuole realizzare una classe che permefa di gesbre e risolvere equazioni di secondo grado In una equazione individuiamo tre a5ribu3: a, b, c che rappresentano i coefficienb di x 2, di x ed il termine noto L equazione 3x 2-2x+1=0 avrà come afribub i valori 3, - 2 e 1 Un esempio: metodi Definiamo un insieme di metodi che ci permefa di: Modificare i valori dei coefficienb OFenere i valori dei coefficienb Conoscere il Bpo di equazione OFenere la prima soluzione OFenere la seconda soluzione Diagramma UML della classe Equazione -a : double -b : double -b : double +seta(in v : double) +geta() : double +setb(in v : double) +getb() : double +setc(in v : double) +getc() : double -delta() : double +pura() : boolean(idl) +spuria() : boolean(idl) +complessa() : boolean(idl) +soluzione1() : double +soluzione2() : double 5

6 Esercizio Implementare in Java la classe Equazione Istanziare due equazioni: 5x 2-3x+2=0 2x 2-4=0 eq1 : Equazione a : double = 5 b : double = -3 b : double = 2 eq2 : Equazione a : double = 2 b : double = 0 b : double = -4 Metodi di classe Un metodo di classe è un metodo invocabile sulla classe stessa senza dovere necessariamente istanziare un oggefo. I metodi di classe sono principalmente ublizzab per inglobare al loro interno algoritmi, o in generale operazioni che non cambiano lo stato di un oggefo. Metodi di classe, quando? Quando si devono modificare o leggere afribub di classe riguardanb informazioni inerenb a tu2 gli ogge2 della classe. Quando non ha senso creare ogge2 di una certa classe, in quanto questa possiede solo metodi di ublità Metodi di classe: esempio In Java i metodi di classe si implementano ublizzando il modificatore sta3c public class Matematica { public static int somma(int addendo1, int addendo2) { return addendo1 + addendo2; Per invocare un metodo stabc si ublizza la tradizionale notazione puntata, ma al posto del nome dell oggefo si inserisce il nome della classe: int risultato = Matematica.somma(3, 5); Il metodo main Il metodo static main è il il primo metodo dell applicazione che viene eseguito. Questo metodo è invocato automabcamente quando si esegue una classe. Se si tenta di eseguire una classe priva di un metodo main si o2ene un errore. Il main è il metodo all interno del quale in genere si istanziano i primi ogge2 che si fanno interagire tra loro. public static void main(string[] args) { //istruzioni Overloading In alcuni casi è uble avere un metodo che possa essere chiamato sia con parametri, sia senza, oppure con numero e Bpo di parametri differenb. Nel caso di due o più metodi con lo stesso nome ma con parametri differenb si parla di overloading public int somma(int addendo1, int addendo2) { return addendo1 + addendo2; public float somma(float addendo1, float addendo2) { return addendo1 + addendo2; L overloading consente di sovraccaricare il metodo con più di un significato 6

7 Metodo costrufore Il costru5ore è un metodo parbcolare che viene invocato alla creazione dell oggefo e che conbene tufe le istruzioni da eseguire per la sua inizializzazione. CostruFori in Java In Java i metodi costrufore: Devono avere lo stesso nome della classe a cui appartengono. Possono anche essere vuo3 o non essere definib. In quesb casi, sull oggefo creato non sarà effefuata alcuna operazione di inizializzazione. Viene ublizzato il costrufore di default della JVM. Possono avere parametri di input che serviranno per effefuare le operazioni di inizializzazione alla creazione dell oggefo. Possono esistere più costru5ori con lo stesso nome, ma con numero e Bpo di parametri differenb. E possibile creare un oggefo invocando uno dei costrufori Esempio Modificatori public class Bicchiere { public String forma; public String materiale; public boolean pieno; public Bicchiere() { pieno = false; public Bicchiere(String nuovaforma, String nuovomateriale) { forma = nuovaforma; materiale = nuovomateriale; pieno = false; public consente a qualunque classe o oggefo di qualsiasi Bpo di avere accesso all afributo o al metodo a cui è applicato protected consente l accesso solo alle classi e agli ogge2 il cui Bpo è una sofoclasse di quella in cui è ublizzato private consente l accesso solo agli ogge2 della classe in cui è ublizzato Visibilità di default (senza alcun modificatore) consente a tufe le classi appartenenb allo stesso package di accedere all afributo o al metodo. Modificatori: tabella Valore e riferimento Un esempio: int a, b; a = 3 b = a; a = 5; System.out.print(b); Viene visualizzato il valore 3 Le variabili di un Bpo base contengono un valore 7

8 Valore e riferimento Un altro esempio: Bicchiere biccuno, biccdue; biccuno = new Bicchiere( calice, vetro ); biccdue = biccuno; biccuno.forma = coppa ; System.out.print(bicc2.forma); Viene visualizzato coppa Gli ogge2 sono un riferimento ad una zona di memoria In questo caso biccuno e biccdue sono due riferimenb allo stesso oggefo Incapsulamento L incapsulamento (informa(on hiding) è un concefo fondamentale dell ingegneria del somware Questo principio prevede che si possa accedere alle informazioni di un oggefo unicamente a5raverso i suoi metodi In Java l incapsulamento si avvale dei modificatori di visibilità per nascondere gli afribub di un oggefo MeFere in afo questa tecnica significa non avere mai a5ribu3 di un oggefo di Bpo public, salvo eccezioni parbcolari per costanb o afribub di classe da gesbre in base al caso specifico Accesso agli afribub Per accedere dall esterno agli afribub, si inseriscono metodi public che possono essere chiamab da chiunque per impostare o richiedere il valore dell afributo. I metodi hanno di solito un nome parbcolare: set (seguito dal nome dell afributo) per modificarne (sefare) il valore get (seguito dal nome dell afributo) per recuperare (get) il valore private int codice; Esempio public void setcodice(int nuovocodice) { codice = nuovocodice; public int getcodice() { return codice; Incapsulamento: perché? Potrebbe sembrare che non vi sia alcuna differenza rispefo ad accedere direfamente agli afribub Sembra che questa tecnica serva solo a rendere più complessa la loro gesbone Le mobvazioni sono: un maggiore controllo sulle operazioni effefuate sugli afribub, limitando l ublizzo improprio che se ne può fare e guadagnando così in sicurezza. La possibilità di nascondere il modo in cui i dab sono memorizzab negli afribub Controllo sui valori inserib public void setcodice(int codice) throws CodiceErratoExcep3on { if( (codice >= 100) && (codice <= ) ) { this.codice = codice; else { throw new CodiceErratoExcep3on(); 8

9 Convenzioni sui nomi delle classi Il nome di classe dovrebbe iniziare sempre con la lefera maiuscola. Nel caso di nomi composb, si ublizzano le maiuscole per le iniziali di ogni parola che compone il nome. Nel caso di acronimi, il nome sarà interamente maiuscolo. Persona IndirizzoDiCasa HTTPMessage Nomi afribub, metodi e costanb I nomi di a5ribu3 e metodi dovrebbero iniziare con lefera minuscola nome codicefiscale httpheader esegui() scrivisufile() Le costan3 devono essere scrife in maiuscolo. I nomi composb devono avere le parb del nome separate da _ PI_GRECO RADICE_QUADRATA_DI DUE Convenzioni JavaBean Ogni afributo è definito private Ogni afributo ha una coppia di metodi public per impostarne e richiederne il valore. Il nome di quesb metodi è composto dai prefissi get e set, a cui va aggiunto il nome dell afributo. private String indirizzo; public void setindirizzo(string indirizzo) { this.indirizzo = indirizzo; public String getindirizzo() { return indirizzo; Interazione tra gli ogge2 Per comunicare, gli ogge2 possono ublizzare i metodi, scambiandosi messaggi l uno con l altro Quando un oggefo invoca un metodo di un altro, quest ulbmo reagisce eseguendo il metodo opportuno L invocazione dei metodi può richiedere parametri di qualsiasi Bpo, compresi quindi ogge2 Un oggefo potrà quindi essere in grado di passarne un altro afraverso un metodo, o addirifura potrà passare se stesso Un messaggio ha la seguente sintassi: <NomeOggetto>.<nomeMetodo>(<paramteri>) this In alcuni casi un oggefo ha la necessità di riferirsi a se stesso, per esempio all interno di un suo metodo o nel metodo costrufore Questo può accadere perché l oggefo deve riferirsi a un suo membro (afributo o metodo) oppure deve passare se stesso come parametro durante l invocazione di un metodo di un altro oggefo. In Java, per effefuare questa operazione, un oggefo può ublizzare la parola chiave this. public Bicchiere(String forma, String materiale) { this.forma = forma; this.materiale = materiale; pieno = false; 9

Introduzione alla programmazione a oggetti

Introduzione alla programmazione a oggetti Introduzione alla programmazione a oggetti A. FERRARI OOP La programmazione orientata agli oggetti (Object Oriented Programming) ha l obiettivo di formalizzare gli oggetti del mondo reale e di costruire

Dettagli

Obiettivi. Unità B1. Le basi della programmazione a oggetti OOP. Gli oggetti del mondo reale

Obiettivi. Unità B1. Le basi della programmazione a oggetti OOP. Gli oggetti del mondo reale Obiettivi Unità B1 Le basi della programmazione a oggetti Formalizzare oggetti del mondo reale in oggetti del dominio applicativo che possano essere utilizzati dall applicazione, individuando solo gli

Dettagli

A. Ferrari Object Oriented Programming

A. Ferrari Object Oriented Programming Programmazione Orientata agli Oggetti OOP o la programmazione orientata agli oggetti () ha l obiettivo di formalizzare gli oggetti del mondo reale e di costruire con questi un mondo virtuale o questa parte

Dettagli

Programmazione ad oggetti

Programmazione 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.

Dettagli

Oggetti. La programmazione orientata agli oggetti, OOP (Object-Oriented Programming), prende il nome dall elemento su cui si basa, l oggetto.

Oggetti. 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

Dettagli

Fondamenti di Informatica

Fondamenti 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

Dettagli

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

Fondamenti 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

Dettagli

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: 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

Dettagli

A. Lorenzi, A. Rizzi Java. Programmazione ad oggetti e applicazioni Android Istituto Italiano Edizioni Atlas

A. Lorenzi, A. Rizzi Java. Programmazione ad oggetti e applicazioni Android Istituto Italiano Edizioni Atlas Classi e oggetti A. Lorenzi, A. Rizzi Java. Programmazione ad oggetti e applicazioni Android Istituto Italiano Edizioni Atlas Oggetti La programmazione orientata agli oggetti, OOP (Object-Oriented Programming),

Dettagli

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

Fondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011 Fondamenti di Informatica 1 Prof. B.Buttarazzi A.A. 2010/2011 Sommario Paradigma OO Incapsulamento Polimorfismo e overloading Esercizi svolti Esercizi proposti Paradigma OO Nella programmazione tradizionale,

Dettagli

A. Ferrari Object Oriented Design

A. Ferrari Object Oriented Design Object Oriented Design UML class diagram cos è UML o è un linguaggio di progettazione, da non confondere con i linguaggi di programmazione (Python, C, C++, Java, ) o fornisce una serie di diagrammi per

Dettagli

Dichiarazione di una classe. Dichiarazione ereditarietà

Dichiarazione 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

Dettagli

A. Ferrari Object Oriented Design

A. Ferrari Object Oriented Design Object Oriented Design UML class diagram cos è UML o è un linguaggio di progettazione, da non confondere con i linguaggi di programmazione (Python, C, C++, Java, ) o fornisce una serie di diagrammi per

Dettagli

Java: Definire Classi e Creare Oggetti

Java: Definire Classi e Creare Oggetti Dipartimento di Informatica, Università degli Studi di Verona Corso di Programmazione per Bioformatica lezione del 21 marzo 2014 Introduzione Programmare con gli Oggetti Un programma Java è costituito

Dettagli

Catia Trubiani. Laboratorio di Ingegneria del Software a.a

Catia 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

Dettagli

Corso 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 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

Dettagli

Corso di Informatica

Corso 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

Dettagli

Oggetti e dati primitivi 1

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

Dettagli

UML UNIFIED MODELING LANGUAGE

UML UNIFIED MODELING LANGUAGE UML UNIFIED MODELING LANGUAGE Cos è UML E un linguaggio di progettazione, da non confondere con i linguaggi di programmazione (C, C++, Java, ) Fornisce una serie di diagrammi per rappresentare ogni tipo

Dettagli

Programmazione I - corso B a.a prof. Viviana Bono

Programmazione I - corso B a.a prof. Viviana Bono Università di Torino Facoltà di Scienze MFN Corso di Studi in Informatica Programmazione I - corso B a.a. 2009-10 prof. Viviana Bono Blocco 12 Riepilogo e complementi sui tipi Ripasso del sistema di tipi

Dettagli

Classi ed Oggetti. Fondamenti di Informatica A-K

Classi 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,

Dettagli

Programmazione a Oggetti e JAVA. Prof. B.Buttarazzi A.A. 2012/2013

Programmazione a Oggetti e JAVA. Prof. B.Buttarazzi A.A. 2012/2013 Programmazione a Oggetti e JAVA Prof. B.Buttarazzi A.A. 2012/2013 Sommario Paradigma O.O. Oggetti e Classi Ereditarietà Paradigma Object-Oriented Il paradigma O.O. si ispira all ambiente che ci circonda,

Dettagli

Programmazione Orientata agli Oggetti. Emilio Di Giacomo e Walter Didimo

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

Dettagli

Programmazione M.A. Alberti. Comunicazione digitale AA 2009/ Classi in Java 1. Le classi in Java. Oggetti. Classi. Classi. Visibilità dei dati

Programmazione M.A. Alberti. Comunicazione digitale AA 2009/ Classi in Java 1. Le classi in Java. Oggetti. Classi. Classi. Visibilità dei dati Oggetti Le classi in Java Corso di laurea in Un oggetto è definito dal suo stato - descrive le sue caratteristiche comportamento - quello che può fare Ad esempio: il modello di una moneta Una moneta può

Dettagli

14 - Metodi e Costruttori

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

Dettagli

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java Sintassi e Semantica Componenti versione 2.0 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)

Dettagli

Corso sul linguaggio Java

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

Dettagli

Fondamenti di Programmazione Prof.ssa Elisa Tiezzi. Programmazione orientata a oggetti

Fondamenti 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

Dettagli

Programmazione a Oggetti e JAVA. Prof. B.Buttarazzi A.A. 2012/2013

Programmazione a Oggetti e JAVA. Prof. B.Buttarazzi A.A. 2012/2013 Programmazione a Oggetti e JAVA Prof. B.Buttarazzi A.A. 2012/2013 Sommario Programmazione O.O. Oggetti e Classi Metodi Parametri Variabili di istanza Costruttori Variabili locali Esercizi Implica: Programmazione

Dettagli

SAPIENZA Università di Roma Facoltà di Ingegneria dell Informazione, Informatica e Statistica

SAPIENZA Università di Roma Facoltà di Ingegneria dell Informazione, Informatica e Statistica SAPIENZA Università di Roma Facoltà di Ingegneria dell Informazione, Informatica e Statistica Esercitazioni di PROGETTAZIONE DEL SOFTWARE (Corso di Laurea in Ingegneria Informatica ed Automatica Corso

Dettagli

Ereditarietà: concetti di base

Ereditarietà: concetti di base : concetti di base L ereditarietà è uno dei concetti base della programmazione ad oggetti Concetto di base: l ereditarietà permette di usare una classe precedentemente definita per la definizione di una

Dettagli

Alcune info sulle prossime lezioni

Alcune 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

Dettagli

Proprietà delle Classi e degli Oggetti in Java

Proprietà delle Classi e degli Oggetti in Java Fondamenti di Informatica Proprietà delle Classi e degli Oggetti in Java Fondamenti di Informatica - D. Talia - UNICAL 1 Proprietà object-oriented di Java Definendo le caratteristiche e le operazioni di

Dettagli

Riuso di classi. Ereditarietà. Ereditarietà. Spesso si ha bisogno di classi simili

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

Dettagli

INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica

INTRODUZIONE 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

Dettagli

INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA. Fondamenti di Informatica - Programma

INTRODUZIONE 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

Dettagli

OCA JAVA 7 SE PROGRAMMER I DOCENTE: DOTT. FAUSTO DELL ANNO

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

Dettagli

Per capire cos è un oggetto prendiamo spunto dalla vita reale: un oggetto è un automobile, un computer, una casa, e così via

Per capire cos è un oggetto prendiamo spunto dalla vita reale: un oggetto è un automobile, un computer, una casa, e così via Introduzione alle Classi / Oggetti Per capire cos è un oggetto prendiamo spunto dalla vita reale: un oggetto è un automobile, un computer, una casa, e così via Un oggetto può essere definito elencando

Dettagli

Proprietà delle Classi e degli Oggetti in Java

Proprietà delle Classi e degli Oggetti in Java Fondamenti di Informatica Proprietà delle Classi e degli Oggetti in Java Fondamenti di Informatica - D. Talia - UNICAL 1 Proprietà object-oriented di Java Definendo le caratteristiche e le operazioni di

Dettagli

Programmazione Java Struttura di una classe, Costruttore, Riferimento this

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

Dettagli

E7 Esercizi sul Capitolo 7 Realizzazione di Classi

E7 Esercizi sul Capitolo 7 Realizzazione di Classi E7 Esercizi sul Capitolo 7 Realizzazione di Classi Esercizio 1 (esercizio 7.1 del libro di testo). Nella classe Studente definita di seguito indicare le variabili d istanza, le variabili di classe e le

Dettagli

Corso di Informatica

Corso 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à

Dettagli

Programmazione Java Struttura di una classe, Costruttore, Riferimento this

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

Dettagli

Programmazione a oggetti

Programmazione a oggetti Programmazione a oggetti Quanti oggetti, tra di loro parlando, fanno programmi. Pilu Crescenzi piluc@dsi.unifi.it Università di Firenze Programmazione a oggetti p.1/32 Cosa è un oggetto Una scatola software

Dettagli

E18 Esercizi su ereditarietà e polimorfismo

E18 Esercizi su ereditarietà e polimorfismo E18 Esercizi su ereditarietà e polimorfismo Esercizio 1 (esercizio 10.1 del libro di testo). Si scriva una classe Persona dotata dei campi CodiceFiscale, Nome, Cognome e dei metodi per impostare e leggere

Dettagli

Modello procedurale versus modello O-O

Modello 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

Dettagli

Programmazione con Java

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:

Dettagli

Introduzione Programmazione Java

Introduzione Programmazione Java Introduzione Programmazione Java Paolo Tomeo paolo.tomeo@poliba.it Regole basilari Java è case sensitive quindi prestare attenzione alle maiuscole Il commento si inserisce con // all'inizio della linea

Dettagli

OOP 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++ 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

Dettagli

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java Classi e Oggetti: Metafora Parte a versione 2.2 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)

Dettagli

Introduzione alle Classi e agli Oggetti. Prof. Francesco Accarino IIS Altiero Spinelli Via leopardi 132 Sesto San Giovanni

Introduzione alle Classi e agli Oggetti. Prof. Francesco Accarino IIS Altiero Spinelli Via leopardi 132 Sesto San Giovanni Introduzione alle Classi e agli Oggetti Prof. Francesco Accarino IIS Altiero Spinelli Via leopardi 132 Sesto San Giovanni Oggetti Per capire cos è un oggetto prendiamo spunto dalla vita reale: un oggetto

Dettagli

Oggetti. Oggetti e occultamento delle informazioni. Definire oggetti. Oggetti. Definire oggetti la sintassi. Convenzione sugli identificatori

Oggetti. Oggetti e occultamento delle informazioni. Definire oggetti. Oggetti. Definire oggetti la sintassi. Convenzione sugli identificatori Oggetti Oggetti e occultamento delle informazioni Paolo Coppola Dipartimento di Matematica e Informatica Università degli Studi di Udine http://www.dimi.uniud.it/coppola/ coppola@dimi.uniud.it I metodi

Dettagli

METODI in Java. Prof.Angela Bonifati. Metodi e Sottoprogrammi

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

Dettagli

Concetto di Funzione e Procedura METODI in Java

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

Dettagli

Metodi. Un metodo è una porzione di codice a cui si associa un nome. Un istruzione eseguita da un metodo può essere:

Metodi. Un metodo è una porzione di codice a cui si associa un nome. Un istruzione eseguita da un metodo può essere: Metodi Un metodo è una porzione di codice a cui si associa un nome. Un istruzione eseguita da un metodo può essere: invocazione: esecuzione di un metodo assegnamento: cambia lo stato di un campo ripetizione:

Dettagli

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java Sintassi e Semantica Uso dei Componenti versione 2.0 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima

Dettagli

Programmazione Java Avanzata Programmazione Object- Oriented in Java

Programmazione 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

Dettagli

Progettazione del Software

Progettazione del Software Progettazione del Software simulazione di esame III Domenico Fabio Savo Dipartimento di Ingegneria Informatica, Automatica e Gestionale Antonio Ruberti Requisiti L'applicazione da progettare riguarda la

Dettagli

Diagrammi di classe e sistemi orientati agli oggetti

Diagrammi di classe e sistemi orientati agli oggetti Appendice D Diagrammi di classe e sistemi orientati agli oggetti ANDREA GINI Un effetto della strategia di incapsulamento è quello di spingere il programmatore a esprimere il comportamento di un sistema

Dettagli

Introduzione alle classi e agli oggetti. Walter Didimo

Introduzione alle classi e agli oggetti. Walter Didimo Introduzione alle classi e agli oggetti Walter Didimo Classi e oggetti La classe rappresenta l unità di base della programmazione ad oggetti: una classe definisce una tipologia di elementi (cioè una categoria

Dettagli

Programmazione a Oggetti Lezione 7. Il linguaggio Java: aspetti generali

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

Dettagli

INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA. Struttura di un programma Java

INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA. Struttura di un programma Java Fondamenti di Informatica INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA 1 Struttura di un programma Java Un programma Java consiste in un insieme di definizioni di classi. In genere

Dettagli

Modulo 2: Strutture fondamentali della programmazione Java

Modulo 2: Strutture fondamentali della programmazione Java Modulo 2: Strutture fondamentali della programmazione Java Argomenti Trattati: Un semplice programma Java: Presentazione di un primo Esempio; Introduzione alla struttura; Compilazione ed esecuzione. Argomenti

Dettagli

Corso 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) 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

Dettagli

Programmazione orientata agli oggetti Ereditarietà

Programmazione orientata agli oggetti Ereditarietà Programmazione orientata agli oggetti 1 Dalla programmazione basata su oggetti all OOP La programmazione basata su oggetti (object-based) poggia su due concetti fondamentali: Astrazione: separazione fra

Dettagli

Interfacce. Esempio: interfaccia I con una sola funzione g() public interface I {

Interfacce. Esempio: interfaccia I con una sola funzione g() public interface I { Interfacce Una interfaccia è un astrazione per un insieme di funzioni pubbliche delle quali si definisce solo la segnatura, e non le istruzioni. Un interfaccia viene poi implementata da una o più classi

Dettagli

SOLUZIONE. Requisiti. Requisiti (cont.) Requisiti (cont.) Sapienza - Università di Roma Facoltà di Ingegneria

SOLUZIONE. Requisiti. Requisiti (cont.) Requisiti (cont.) Sapienza - Università di Roma Facoltà di Ingegneria Sapienza - Università di Roma Facoltà di Ingegneria Requisiti Corso di PROGETTAZIONE DEL SOFTWARE I (Corso di Laurea in Ingegneria Informatica) Prof. Giuseppe De Giacomo Canali A-L & M-Z A.A. 2006-07 Compito

Dettagli

Laboratorio di Sistemi Polimorfismo Java. Prerequisiti: per la comprensione dell'articolo è necessario conoscere il concetto di Ereditarietà in Java.

Laboratorio di Sistemi Polimorfismo Java. Prerequisiti: per la comprensione dell'articolo è necessario conoscere il concetto di Ereditarietà in Java. Prerequisiti: per la comprensione dell'articolo è necessario conoscere il concetto di Ereditarietà in Java. Di solito se abbiamo la struttura di una classe con gli attributi e i metodi possiamo istanziare

Dettagli

Programmazione. Cognome... Nome... Matricola... Prova scritta del 22 settembre 2014. Negli esercizi proposti si utilizzano le seguenti classi:

Programmazione. Cognome... Nome... Matricola... Prova scritta del 22 settembre 2014. Negli esercizi proposti si utilizzano le seguenti classi: Cognome................................ Nome................................... Matricola............................... Programmazione Prova scritta del 22 settembre 2014 TEMPO DISPONIBILE: 2 ore Negli

Dettagli

Corso sul linguaggio Java

Corso sul linguaggio Java Corso sul linguaggio Java Modulo JAVA2 2.1- Funzioni 1 Prerequisiti Programmazione elementare in Java Tecnica top-down Concetto matematico di funzione Compilazione e link di programmi Esecuzione di funzioni

Dettagli

Scelte. Costrutto condizionale. Il costrutto if. Il costrutto if. Rappresentazione con diagramma a blocchi. Il costrutto if

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

Dettagli

Programmazione è gestione di eventi

Programmazione è gestione di eventi FUNZIONI Ed Eventi Programmazione è gestione di eventi Evento 1 (tasto premuto) Evento 2 (mouse) Evento 3 (cambio frame) Oggetto Evento 4 (fine di un brano audio) Azioni per evento 1 1. Azione 1 2. Azione

Dettagli

Java Gli array. Array

Java Gli array. Array Java Gli array 1 Gli array In generale un array è una sequenza di locazioni di memoria, che contengono entità dello stesso tipo, e a cui si può fare riferimento con un nome comune Le entità che compongono

Dettagli

Concetti Base Encapsulation ed Ereditarietà Programmare con l Ereditarietà. Java: Ereditarietà. Damiano Macedonio

Concetti Base Encapsulation ed Ereditarietà Programmare con l Ereditarietà. Java: Ereditarietà. Damiano Macedonio Dipartimento di Informatica, Università degli Studi di Verona Corso di Programmazione per Bioformatica Introduzione Ereditarietà in Sintesi È uno dei concetti chiave della programmazione orientata agli

Dettagli

Programmazione a Oggetti Lezione 8. Definizioni di Classi II

Programmazione 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

Dettagli

Programmazione orientata agli oggetti Ereditarietà

Programmazione orientata agli oggetti Ereditarietà Programmazione orientata agli oggetti Ereditarietà Fondamenti di Informatica L-B 1 Programmazione basata su oggetti Il modello visto finora costituisce un sottoinsieme del modello orientato agli oggetti

Dettagli

Uguaglianza e copia di oggetti

Uguaglianza e copia di oggetti Uguaglianza e copia di oggetti Sommario 1. Classi Object e Class 2. Uguaglianza superficiale e uguaglianza profonda 3. Copia superficiale e copia profonda 4. Uguaglianza e copia in classi derivate 1 La

Dettagli

Do...While() Break Continue Concetto di Funzione e Procedura METODI in Java

Do...While() Break Continue Concetto di Funzione e Procedura METODI in Java Fondamenti di Informatica Do...While() Break Continue Concetto di Funzione e Procedura METODI in Java Prof.Angela Bonifati 1 Istruzione while int vet1[] = new int[20]; int vet2[] = new int[20]; for(int

Dettagli

Informatica I. Ingegneria Medica. Prof. Diego Salamon

Informatica 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

Dettagli

Uso di classi e oggetti. Prof. Francesco Acarino IIS Altiero Spinelli Via Leopardi 132 Sesto San Giovanni

Uso di classi e oggetti. Prof. Francesco Acarino IIS Altiero Spinelli Via Leopardi 132 Sesto San Giovanni Uso di classi e oggetti Prof. Francesco Acarino IIS Altiero Spinelli Via Leopardi 132 Sesto San Giovanni Tipi di dati Tipi primitivi: interi Java fornisce otto tipi primitivi indipendenti dall implementazione

Dettagli

Le basi del linguaggio Java

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

Dettagli

PIANO DI STUDIO DELLA DISCIPLINA DISCIPLINA: Informatica

PIANO DI STUDIO DELLA DISCIPLINA DISCIPLINA: Informatica ISIS C. Facchinetti Sede: via Azimonti, 5-21053 Castellanza Tel. 0331 635718 fax 0331 679586 info@isisfacchinetti.gov.it https://isisfacchinetti.gov.it PIANO DI STUDIO DELLA DISCIPLINA Rev. 1.1 del 26/07/17

Dettagli

Programmazione orientata agli oggetti Ereditarietà

Programmazione orientata agli oggetti Ereditarietà Programmazione orientata agli oggetti 1 Dalla programmazione basata su oggetti all OOP La programmazione basata su oggetti (object-based) poggia su due concetti fondamentali: Astrazione: separazione fra

Dettagli

Definizione di classi. Walter Didimo

Definizione 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

Dettagli

Corso di Laurea in Bioinformatica Dipartimento di Informatica - Università di Verona

Corso di Laurea in Bioinformatica Dipartimento di Informatica - Università di Verona di Corso di Laurea in Bioinformatica Dipartimento di Informatica - Università di Verona su Sommario di su di di di su Astrazione sugli oggetti di su Il concetto di classe Classe: realizza l astrazione

Dettagli

Programmazione. Cognome... Nome... Matricola... Prova scritta del 11 luglio 2014

Programmazione. Cognome... Nome... Matricola... Prova scritta del 11 luglio 2014 Cognome................................ Nome................................... Matricola............................... Programmazione Prova scritta del 11 luglio 2014 TEMPO DISPONIBILE: 2 ore Negli esercizi

Dettagli

Esempi di programmi. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa E01. A. Miola Settembre 2007

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

Dettagli

Object Oriented Programming

Object Oriented Programming OOP Object Oriented Programming Programmazione orientata agli oggetti La programmazione orientata agli oggetti (Object Oriented Programming) è un paradigma di programmazione Permette di raggruppare in

Dettagli

Gli oggetti. Ogni oggetto ha un interfaccia e ogni oggetto ha un tipo. Incapsulamento. Oggetti. Contatore. Invio di Messaggi

Gli 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

Dettagli

Programmazione a Oggetti e JAVA. Prof. B.Buttarazzi A.A. 2012/2013

Programmazione a Oggetti e JAVA. Prof. B.Buttarazzi A.A. 2012/2013 Programmazione a Oggetti e JAVA Prof. B.Buttarazzi A.A. 2012/2013 Sommario Array Array monodimensionali Array bidimensionali Esercizi 16/01/2013 2 ARRAY Gli array sono oggetti utilizzati in Java per memorizzare

Dettagli

CLASS DIAGRAM PARTE 1

CLASS 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

Dettagli

Strutture dati. Il che cosa e il come. F. Damiani - Alg. & Lab. 04/05

Strutture 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

Dettagli

Oggetti. Definizioni di Classi II

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

Dettagli

Object Oriented Programming

Object 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

Fondamenti di informatica T-1 (A K) Esercitazione 7: metodi, classi, oggetti

Fondamenti di informatica T-1 (A K) Esercitazione 7: metodi, classi, oggetti Fondamenti di informatica T-1 (A K) Esercitazione 7: metodi, classi, oggetti AA 2018/2019 Tutor lorenzo.rosa@unibo.it 2 Esercitazione 7 Introduzione al calcolatore e Java Linguaggio Java, basi e controllo

Dettagli

UML. Cos è UML. Diagrammi UML. Analisi di un problema. Definizione dei requisic. Un esempio

UML. Cos è UML. Diagrammi UML. Analisi di un problema. Definizione dei requisic. Un esempio Cos è UML UML Unified Modeling Language E un linguaggio di proge&azione, da non confondere con i linguaggi di programmazione (C, C++, Java, ) Fornisce una serie di diagrammi per rappresentare ogni Cpo

Dettagli

Fondamenti di informatica T-1 (A K) Esercitazione 2 Basi del linguaggio Java

Fondamenti di informatica T-1 (A K) Esercitazione 2 Basi del linguaggio Java Fondamenti di informatica T-1 (A K) Esercitazione 2 Basi del linguaggio Java AA 2018/2019 Tutor Lorenzo Rosa lorenzo.rosa@unibo.it 2 Programma Introduzione al calcolatore e Java Linguaggio Java, basi e

Dettagli