POO in JAVA e Robot EV3
|
|
- Alessio Vitali
- 6 anni fa
- Visualizzazioni
Transcript
1 POO in JAVA e Robot EV3
2 1. Introduzione Dal procedurale agli oggetti
3 La programmazione procedurale Per tutta la classe terza, abbiamo lavorato con un paradigma di programmazione che si chiama procedurale La programmazione procedurale si basa sulla suddivisione del codice in procedure (funzioni e subroutine) per strutturare meglio il codice e poterlo riutilizzare Le procedure possono essere raggruppate in librerie che anche altri programmatori possono riusare (fare codice costa denaro) basta che conoscano parametri di ingresso e uscita
4 Esiste solo la programmazione procedurale?
5 Altri paradigmi di programmazione Programmazione ad oggetti Programmazione ad eventi Programmazione concorrente La modalità con cui si puo realizzare un programma, dipende dal linguaggio.
6 Java è FORTEMENTE orientato agli oggetti e, di fatto, l unico paradigma da usare con JAVA è la programmazione OO (object oriented)
7 Vantaggi POO Modellizzazione naturale Riutilizzo del codice A partire dal problema, è più facile ideare la struttura dati corretta e gli algoritmi che ci permettono di trattare l argomento Più semplice grazie al concetto di incapsulamento ed ereditarietà.
8 Esempio Problema: In una azienda vengono misurate le temperature di un forno industriale ogni ora. Ci sono tre sensori in 3 punti differenti che scrivono i dati rilevati su un file di testo nella forma t1;t2;t3. A fine giornata: fornire la temperatura media rilevata da ciascuno dei tre sensori sulle 24h e l ora in cui si è registrata la temperatura massima
9 Modellizzazione Scelta tecnica che utilizzo per rappresentare e risolvere il problema Procedurale: tre vettori T1,T2,T3 con procedure per il calcolo della temperatura media e massima Poo: classe sensore, oggetti T1,T2,T2 con attributi temperature e metodi temperaturamedia e temperatuamassima
10 2. Classi e oggetti Le parole chiave da sapere
11 Concetti base Classe (statica o dinamica) Oggetto (attributi,metodi,costruttore) Incapsulamento Polimorfismo Ereditarietà
12 La classe dinamica NON e un insieme di oggetti. Definisce le caratteristiche di CIASCUN oggetto. E composta da ATTRIBUTI E METODI ATTRIBUTI = caratteristiche METODI = cosa posso fare Parallelo tra programmazione ad oggetti e procedurale (banalizzando molto): attributi = variabili, metodi = subroutine, funzioni)
13 ESEMPIO DI OGGETTO DELLA CLASSE AUTO
14 Place your screenshot here Esempio di OGGETTO IN VB Classe: lo strumento text box. Oggetto: la singola text box sul form
15 Esempio di classe cerchio e del suo uso in JAVA Class Cerchio { //attributi private (li vedo solo nella classe) private double raggio; //metodi public (li posso usare anche fuori dalla classe) public double area(){ int y; y= raggio*raggio*math.pi; return y; } } Creo l oggetto C1 e lo uso Cerchio C1 = New Cerchio(); C1.raggio = 3; System.out.println(C1.area());
16 Modellizzazione Scelta tecnica che utilizzo per rappresentare e risolvere il problema Procedurale: tre vettori T1,T2,T3 con procedure per il calcolo della temperatura media e massima Poo: classe sensore, oggetti T1,T2,T2 con attributi temperature e metodi temperaturamedia e temperatuamassima
17 Unicità degli oggetti Generalmente un oggetto è caratterizzato da uno stato, da un comportamento e da un'identità, come è bene simboleggiato da questa illustrazione di G. Booch, Object-oriented Analysis and Design:
18 Uso di oggetti Creo un oggetto e lo uso Cerchio C1 = new Cerchio(); secondo lo standard java: tipo e nome (es. int a;) Cerchio C1 = New Cerchio(); C1.raggio = 3; System.out.println(C1.area()); NEW è il costruttore standard che ISTANZIA l oggetto cioe produce un clone della classe cerchio che posso andare a personalizzare a livello di attributi e a cui posso applicare metodi Terminologia: un oggetto è una istanza della classe o il costruttore istanzia la classe dove istanza = oggetto di una certa classe, istanziare = atto di creazione di un nuovo oggetto
19 Uso di oggetti Creo un oggetto e lo uso Cerchio C1 = New Cerchio(); C1.raggio = 3; System.out.println(C1.area()); C1.raggio = 3; assegno un valore ad un attributo posso farlo SOLO se l attributo è pubblico questa tecnica per richiamare attributi e metodi è detta DOT NOTATION
20 Uso di oggetti Creo un oggetto e lo uso Cerchio C1 = New Cerchio(); C1.raggio = 3; System.out.println(C1.area()); System.out.println(C1.area()); stampo il valore di un metodo (calcolo dell area) NB Uso C1.raggio non Cerchio.raggio!!! Devo sempre lavorare con l oggetto, non direttamente con la classe (a meno che non sia statica)
21 Rappresentazione con metodologia UML DIAGRAMMA DELLE CLASSI + = pubblici (li vedo anche fuori dalla classe) - = privati (li vedo solo dentro la classe)
22 Prova tu! La classe Drago attributi: posizione metodi: cammina, vola,attacca Crea: il diagramma della classe, la classe java Drago, la classe java UsaDraga
23 3. Il costruttore Le parole chiave da sapere
24 Un metodo particolare: il costruttore Per istanziare un oggetto devo usare due istruzioni: Cerchio pippo; // crea un puntatore null all oggetto Pippo = New Cerchio(); // crea l oggetto vero e proprio e mette nel puntatore il suo indirizzo di memoria Le posso fare insieme: Cerchio pippo = new Cerchio(); New invoca il costruttore standard che crea l oggetto vuoto.
25 Il costruttore personalizzato Una caratteristica di java è di poter avere più sub/funzioni con lo stesso nome purchè con un numero di parametri diversi Nella classe posso aggiungere un costruttore mio che ad esempio, istanzia e inizializza in un colpo solo Davanti ad un costruttore non si mette il tipo: ne void ne int ecc. Es. //costruttore, lo riconosco perché ha lo stesso nome della classe e non ha void/int ecc. public Cerchio(double r){ raggio = r; }
26 Prova tu! Drago contro Drago Ampliamo Drago con un costruttore e creiamo un gioco che coinvolga due draghi
27 4. Classi statiche Le parole chiave da sapere
28 Concetti base Classe (dinamica o statica) Oggetto (attributi,metodi,costruttore) Incapsulamento Polimorfismo Ereditarietà
29 Classi statiche Sono classi particolari che per essere usate NON devono essere istanziate. Es. la classe Math Per fare una radice quadrata basta fare Risultato = Math.sqrt(78) NON istanzio la classe e uso direttamente i suoi metodi e attributi Le classi staticche sono, di fatto, delle librerie
30 5. Concetti estesi Le parole chiave da sapere
31 Concetti estesi Classe (dinamica o statica) Oggetto (attributi,metodi,costruttore) Incapsulamento Polimorfismo Ereditarietà
32 Incapsulamento La classe è come un isola! Diventa accessibile SOLO attraverso i suoi metodi ln questo caso gli attributi sono definiti PRIVATE e non sono accessibili con oggetto.attributo Come leggo un attributo??? levo usare un metodo che tipicamente (ma non è obbligatorio) chiamo get. Come assegno un valore a un attributo?? Devo usare un metodo che tipicamente (ma non è obbligatorio) chiamo set
33 Incapsulamento Se nummes fosse stato Public avrei potuto fare ad esempio: nummes = Telefonalaura.nummes Se invece voglio che gli oggetti siano incapsulati, // legge public int getmsg(){ Return nummes; } //scrive public void setmsg(n){ nummes = n; }
34 Polimorfismo Caratteristica del linguaggio che mi permette di avere sub e function con lo stesso nome! All interno di una stessa classe il compilatore le distingue per il numero dei parametri (overloading) Es. Int calcola(a){. } Int calcola(a,b){ }
35 Ereditarietà E dopo tutto questo lavoro? Posso fare classi a partire da altre classi. Basta che crei classi che EREDITANO (istruzione EXTEND) attributi e metodi da una classe padre! Le nuove classi vengono chiamate SOTTOCLASSI
36 Ereditarietà E se nelle sottoclassi alcuni metodi ereditati non mi vanno bene? LI CAMBIO per overriding: stesso nome, stessi argomenti, ma fa cose diverse rispetto alla classe padre LI CAMBIO per overloading: stesso nome, argomenti diversi in tipo e/o numero, ma fa cose diverse rispetto alla classe padre POLIMORFISMO IN UNA SOTTOCLASSE = redefinizione di un metodo
37 this e super this identifica la classe super la classe padre Class A{ public int pippo; } Class B extend A { public int pluto; super.pippo = 5; this.plusto = 4;
38 E ora i robot Lejos abbiamo installato il firmware lejos sui Lego MindStorm per poterli programmare in java.
39 6. Robot a noi! Vediamo la presentazione dell IT Bartolo di Pachino
40 Componenti
41 Primo programma import lejos.hardware.button; public class CiaoMondo { public static void main(string[] args) { System.out.println("Hello, Ev3"); Button.waitForAnyPress(); } }
42 7. Sperimentazione A ognuno un sensore
43 Men at work
44 Prof at work...
45 Class at work... Class at work...
46 8. Manuale con CBB Mettiamo insieme i risultati
47 Prof.ssa Laura Frasson e Prof. Massimo Torasso per le classi 4 inf Istituto Brambilla Verrès
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),
DettagliProgrammazione orientata agli oggetti La classe Object, metodi e classi final, this. Object
Programmazione orientata agli oggetti La classe, metodi e classi final, this 1 La classe Negli esempi fatti nella prima parte del corso abbiamo definito alcune classi, per esempio Counter e Orologio, senza
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
DettagliProgrammazione 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
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,
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
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
DettagliEsempi al calcolatore su: 1) Costruttori ed ereditarietà 2) Subtyping e polimorfismo
Esempi al calcolatore su: 1) 2) Subtyping e polimorfismo 1 Esempio 1: 2 Introduzione Java prevede due automatismi legati ai costruttori: Se una classe non ha costruttori viene creato automaticamente il
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
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
DettagliProgrammazione orientata agli oggetti. Ivan Lanese
Programmazione orientata agli oggetti Ivan Lanese Argomenti Programmazione orientata agli oggetti Classi Oggetti Costruttori Scrivere grosse applicazioni La gran parte delle applicazioni sono GROSSE Windows
DettagliEsempio 2: Subtyping
Esempio 2: Subtyping 22 Subclassing e subtyping Fino ad ora abbiamo trattato l ereditarietà come strumento che consente il riuso flessibile di classi già esistenti mediante l aggiunta o la ridefinizione
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
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.
DettagliOggetti e classi. Cos è un oggetto
Oggetti e classi Cos è un oggetto Basta guardarsi intorno per scoprire che il mondo reale è costituito da oggetti: libri, biciclette, giocattoli, ma anche ragazzi, bambini, fiori, gatti, cani, fiumi, montagne,
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
DettagliProgrammazione 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,
DettagliProgrammazione orientata agli oggetti Classi astratte e interfacce
Programmazione orientata agli oggetti Classi astratte e interfacce Fondamenti di Informatica L-B 1 Classi astratte Java ci consente di definire classi in cui uno o più metodi non sono implementati, ma
DettagliRICHIAMI DI PROGRAMMAZIONE A OGGETTI. Corso di Informatica Medica
Università degli Studi di Trieste Corso di Laurea Magistrale in INGEGNERIA CLINICA RICHIAMI DI PROGRAMMAZIONE A OGGETTI Corso di Informatica Medica Docente Sara Renata Francesca MARCEGLIA Dipartimento
DettagliProgettazione orientata agli oggetti
Operatore Informatico Giuridico Informatica Giuridica A.A 2006/2007 II Semestre Progettazione orientata agli oggetti Lezione 4 prof. Monica Palmirani Origini storiche Il paradigma orientato agli oggetti
DettagliRiassunto. La programmazione OO. Oggi. Esempio
Riassunto La programmazione OO Stefano Mizzaro Dipartimento di matematica e informatica Università di Udine http://www.dimi.uniud.it/mizzaro/ mizzaro@dimi.uniud.it Programmazione, lezione 17 29 novembre
DettagliProgrammazione 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:
DettagliProgettazione orientata agli oggetti e UML
Operatore Giuridico d Impresa Informatica Giuridica A.A 2003/2004 II Semestre Progettazione orientata agli oggetti e UML prof. Monica Palmirani Origini storiche Il paradigma orientato agli oggetti è una
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
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 Incapsulamento Polimorfismo e overloading Esercizi svolti Esercizi proposti Paradigma OO Nella programmazione tradizionale,
DettagliIntroduzione alla programmazione Object Oriented. Luca Lista
Introduzione alla programmazione Object Oriented Luca Lista Concetti base del software OO Classi e oggetti Incapsulamento Relazione di ereditarietà Polimorfismo Cos è un Oggetto? Definizione da vocabolario:
DettagliClassi astratte e progettazione OOP Esempio: l enciclopedia degli animali. Esempio Animali
Classi astratte e progettazione OOP Esempio: l enciclopedia degli animali 1 Ereditarietà, polimorfismo e altri sporchi trucchi Facciamo un esempio che ci permette di comprendere come vengono utilizzate
DettagliClassi astratte e progettazione OOP Esempio: l enciclopedia degli animali. Esempio Animali
Classi astratte e progettazione OOP Esempio: l enciclopedia degli animali 1 Ereditarietà, polimorfismo e altri sporchi trucchi Facciamo un esempio che ci permette di comprendere come vengono utilizzate
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.
DettagliJava: 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
DettagliLezione 10 programmazione in Java. Anteprima. Programmazione OO. La programmazione orientata agli Oggetti. Javadoc. Esercizi
Lezione 10 programmazione in Java Nicola Drago nicola.drago@univr.it Dipartimento di Informatica Università di Verona Anteprima La programmazione orientata agli Oggetti Cosè un oggetto I metodi Il costruttore
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
DettagliClassi astratte e progettazione OOP Esempio: l enciclopedia degli animali
Classi astratte e progettazione OOP Esempio: l enciclopedia degli animali 1 Ereditarietà, polimorfismo e altri sporchi trucchi Facciamo un esempio che ci permette di comprendere come vengono utilizzate
DettagliClassi. Oggetti e classi. Creazione e inizializzazione di oggetti in C++ Distruzione di oggetti in C++
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 -
DettagliProgrammazione Java: Polimorfismo
Programmazione Java: Polimorfismo romina.eramo@univaq.it http://www.di.univaq.it/romina.eramo/tlp Roadmap Polimorfismo» Upcasting» Selezione dei metodi» Comportamento dei metodi polimorfi dentro i costruttori»
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
DettagliIntroduzione agli oggetti
Introduzione agli oggetti Raffaella Brighi, a.a. 2007/08 Corso di Algoritmi e programmazione. A.A. 2007-08 CdL Operatore Informatico Giuridico. L astrazione L assembler e i linguaggi imperativi (fortran,
DettagliProgrammazione a Oggetti Modulo B
Programmazione a Oggetti Modulo B Design Pattern Dott. Alessandro Roncato 18/10/2011 Design Patters I Design Patters sono soluzioni di progettazione standard e ben collaudate che possono essere usate in
DettagliProprietà 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
DettagliPrincipi di OOP con JAVA
Principi di OOP con JAVA lezioni 08 - gen - 2004 15 - gen - 2004 Tommaso Di Noia t.dinoia@poliba.it OOP (elementi) Programmazione Procedurale e Orientata agli Oggetti. FUNZIONI OGGETTI STRUTTURE DATI METODI
DettagliProgrammazione orientata agli oggetti Oggetti Composti. Oggetti composti
Programmazione orientata agli oggetti Oggetti Composti 1 - 1 Negli esempi che abbiamo visto finora gli attributi delle classi erano variabili di tipo primitivo E però possibile definire come attributi
DettagliDefinizione di classi
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa E05 Definizione di classi A. Miola Novembre 2006 http://www.dia.uniroma3.it/~java/fondinf1/ Definizione di classi 1 Contenuti
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
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
DettagliCorso 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
DettagliCorso di Laurea Ingegneria Informatica Fondamenti di Informatica 2
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 2 Dispensa 08 Ereditarietà A. Miola Febbraio 2008 http://www.dia.uniroma3.it/~java/fondinf2/ Ereditarietà 1 Contenuti!Livelli di astrazione
DettagliProgrammazione. 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
DettagliClassi astratte. Nella gerarchia delle classi, potrebbe essere utile prevedere un supertipo generale per le classi che si usano. Ad esempio: Figura
Classi astratte Nella gerarchia delle classi, potrebbe essere utile prevedere un supertipo generale per le classi che si usano. Ad esempio: Figura Rettangolo getarea() Quadrato getarea() getarea() Cerchio
DettagliEreditarietà e Polimorfismo. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San Giovanni
Ereditarietà e Polimorfismo Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San Giovanni Ereditarietà L ereditarietà è lo strumento che permette di costruire nuove classi utilizzando
DettagliParte prima: le basi della programmazione Java
Parte prima: le basi della programmazione Java 1. Java: una breve descrizione Java è un linguaggio di programmazione creato dalla Sun Microsystems e concepito da James Gosling, Patrick Naughton, Chris
DettagliOCA 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
DettagliEsempi in Java di program.ne O-O
Esempi in Java di program.ne O-O Ereditarietà Polimorfismo statico e dinamico Esercitazione laboratorio Interfaccia Comparable e Comparator 1 Gerarchia di ereditarietà Persona IS_A Docente Studente Tecnico
Dettagli18 - Classi parzialmente definite: Classi Astratte e Interfacce
18 - Classi parzialmente definite: Classi Astratte e Interfacce Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/
DettagliPrincipi di Progettazione del Software. Principi di Progettazione del Software a.a
Principi di Progettazione del Software a.a. 2016-2017 Fondamenti di Java Ing. Principi di Progettazione del Software https://twitter.com/rvergallo 2 1 Obiettivi della lezione Introduzione alla programmazione
DettagliProgrammazione. 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
Dettaglie il loro uso: esistente e cambiare quel che va cambiato specializzare (per ereditarietà) la classe Counter public class EsempioNuovo {
APPROCCI PER IL RIUTILIZZO: ricopiare manualmente il codice della classe esistente e cambiare quel che va cambiato creare un oggetto composto che incapsuli il componente esistente... gli inoltri le operazioni
DettagliProgrammazione Orientata agli Oggetti
Programmazione Orientata agli Oggetti Lezione 13 La programmazione ad oggetti si basa su due principi fondamentali ereditarietà polimorfismo Queste due proprietà consentono di definire nuovi tipi di dato
DettagliIndice. Prefazione. 3 Oggetti e Java 53
Prefazione xv 1 Architettura dei calcolatori 1 1.1 Calcolatori e applicazioni 1 1.1.1 Alcuni esempi di applicazioni 3 1.1.2 Applicazioni e interfacce 4 1.2 Architettura dei calcolatori 7 1.2.1 Hardware
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
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
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à
DettagliI costruttori. Il costruttore standard. Esempio di valori di default. Alterare il costruttore standard
I costruttori Servono a inizializzare i valori dei campi degli oggetti. Vengono invocati automaticamente dopo che l oggetto è stato creato. Il costruttore standard Questo tipo di costruzione mette dei
DettagliUso di metodi statici. Walter Didimo
Uso di metodi statici Walter Didimo Metodi di istanza Fino ad ora abbiamo imparato a creare oggetti e ad invocare metodi su tali oggetti i metodi venivano eseguiti dagli oggetti un metodo invocato su un
DettagliProgrammazione è 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
DettagliCorso 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
DettagliLa classe java.lang.object
La classe java.lang.object In Java: Gerarchia di ereditarietà semplice Ogni classe ha una sola super-classe Se non viene definita esplicitamente una super-classe, il compilatore usa la classe predefinita
DettagliProgrammazione 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
DettagliSul pattern Iterator
Sul pattern Iterator 1 Introduzione Capita spesso di aver a che fare con strutture dati complesse, come ad esempio, liste, code, ecc. È buona norma accedere a queste strutture senza esporre la loro organizzazione.
DettagliModulo 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
Dettagli24 - Possibili approfondimenti
24 - Possibili approfondimenti Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it
DettagliLezione 9 programmazione in Java Classi come contenitori
Lezione 9 programmazione in Java Classi come contenitori Nicola Drago drago@sci.univr.it Dipartimento di Informatica Università di Verona Anteprima Gestione della Memoria Dati dinamici e statici Il passaggio
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
DettagliUguaglianza 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
DettagliEsercitazione n 3. Capacità di analisi e di estensione di progetti esistenti Linguaggio Java:
Esercitazione n 3 Obiettivi: Capacità di analisi e di estensione di progetti esistenti Linguaggio Java: Ereditarietà delle classi Utilizzo di costruttori e metodi di superclasse Classi astratte Visibilità:
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à
DettagliIntroduciamo l'uso della programmazione ad oggetti in PHP...perchè si può fare!
Introduciamo l'uso della programmazione ad oggetti in PHP...perchè si può fare! Elena M. Brambilla Technical Account Manager & Training Manager - Zend Technologies Chi sonoio.elena M. Brambilla Technical
DettagliCorso Analista Programmatore Microsoft Corso Online Analista Programmatore Microsoft
Corso Analista Programmatore Microsoft Corso Online Analista Programmatore Microsoft Accademia Futuro info@accademiafuturo.it Programma Generale del Corso Analista Programmatore Microsoft Tematiche Trattate
DettagliFondamenti di Informatica T-1. Costruttori Ereditarietà
Costruttori Ereditarietà 2 Costruttori Si occupano della creazione e dell'allocazione in memoria degli oggetti. public class Persona{ //Variabili di istanza private String nome; private String cognome;
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
DettagliProf. Pagani Corrado ESERCITAZIONI DIAGRAMMI DELLE CLASSI UML E JAVA
Prof. Pagani Corrado ESERCITAZIONI DIAGRAMMI DELLE CLASSI UML E JAVA ES 02 - ORGANIZER Voglio un gestionale (organizer) che permetta a ciascun dipendente della mia azienda di inserire le attività che svolgono
DettagliCapitolo 6. Uso della gerarchia. c 2005 Pearson Education Italia Capitolo 6-1 / 125
Capitolo 6 Uso della gerarchia c 2005 Pearson Education Italia Capitolo 6-1 / 125 Sommario: Uso della gerarchia 1 Notazione UML per le classi 2 Introduzione alla gerarchia 3 Gerarchia e tipi La gerarchia
DettagliRETI DI CALCOLATORI Linguaggio Java: Ereditarietà
Università degli Studi di Modena e Reggio Emilia Facoltà di Ingegneria Reggio Emilia CORSO DI RETI DI CALCOLATORI Linguaggio Java: Ereditarietà Prof. Franco Zambonelli Lucidi realizzati in collaborazione
DettagliOggetti Composti (1) Oggetti Composti (2)
Oggetti Composti () Negli esempi che abbiamo visto finora gli attributi delle classi erano variabili di tipo primitivo E però possibile definire come attributi dei riferimenti ad oggetti di qualche classe
DettagliLaboratorio di Informatica 4 Novembre 2005
Laboratorio di Informatica 4 Novembre 2005 Marco Iarusso Programmazione Java Ringraziamenti Parte della presente dispensa materiale didattico è derivato dalla dispensa prodotta da Luca Cabibbo Dip. Informatica
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
DettagliProssime lezioni. Dai TDA agli oggetti. Riassunto. Riassunto TDA. Oggi. Stefano Mizzaro 1
Prossime lezioni Dai TDA agli oggetti Stefano Mizzaro Dipartimento di matematica e informatica Università di Udine http://www.dimi.uniud.it/mizzaro mizzaro@dimi.uniud.it Programmazione, lezione 18 19 gennaio
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
DettagliEsempio: Costruttori ed ereditarietà
Esempio: 1 Introduzione Java prevede due automatismi legati ai costruttori: Se una classe non ha costruttori viene creato automaticamente il costruttore di default (quello senza parametri) Se in un costruttore
DettagliProgrammazione ad oggetti
DAIS Univ. Ca' Foscari Venezia Programmazione ad oggetti Samuel Rota Bulò Ereditarietà E' un meccanismo per estendere le funzionalità di una classe con nuovi campi e nuovi metodi Chiamiamo superclasse:
DettagliObject-Oriented Technology. Giuliano Armano 1
Object-Oriented Technology Giuliano Armano 1 Object Oriented Technology ADT + Eredità + Polimorfismo Object-Orientation Giuliano Armano 2 Terminologia Tipica Classica... Tipo di dato (astratto) = ADT Operazione
Dettaglipublic protected private private package
Java nascondere l implementazione G. Prencipe prencipe@di.unipi.it Introduzione Un fattore importante nella OOP è la separazione tra le cose che possono cambiare e quelle che non devono cambiare Questo
DettagliOO puro. Primi concetti di Java. Tipi primitivi. Ogni cosa è un oggetto. Java è object-oriented puro Non come il C+ + (OO ibrido) Lorenzo Bettini
Primi concetti di Java Lorenzo Bettini OO puro Java è object-oriented puro Non come il C+ + (OO ibrido) Per compatibilità col C Ogni cosa è un oggetto Gli oggetti si manipolano tramite riferimenti String
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:: +,-,*,/,
DettagliFondamenti di informatica T-1 (A K) Esercitazione 2: Linguaggio Java, basi e controllo del flusso
Fondamenti di informatica T-1 (A K) Esercitazione 2: Linguaggio Java, basi e controllo del flusso AA 2015/2016 Tutor: Vincenzo Lomonaco vincenzo.lomonaco@unibo.it Programma Introduzione al calcolatore
DettagliOOP in Python L O R E N Z O D I S I L V E S T R O
L O R E N Z O D I S I L V E S T R O w w w. d m i. u n i c t. i t / ~ d i s i l v e s t r o d i s i l v e s t r o @ d m i. u n i c t. i t Imperativo Paradigmi di programmazione 2 i programmi sono sequenze
DettagliIntroduzione alla Programmazione in Java attraverso un esempio commentato
Corso di Studi in Informatica Programmazione 1 corso B prof. Elio Giovannetti Introduzione alla Programmazione in Java attraverso un esempio commentato Programmazione 1 B - a.a. 2002-03 53 Modello di memoria
DettagliIL LINGUAGGIO JAVA Input, Tipi Elementari e Istruzione Condizionale
Fondamenti di Informatica IL LINGUAGGIO JAVA Input, Tipi Elementari e Istruzione Condizionale Fondamenti di Informatica - D. Talia - UNICAL 1 Lettura di dati da input In Java la lettura di dati da input
Dettaglipublic double getlato() restituisce la lunghezza del lato del quadrato che esegue il metodo.
Cognome................................ Nome................................... Matricola............................... Programmazione Prova scritta del 21 settembre 2015 TEMPO DISPONIBILE: 1 ora e 40
DettagliLaboratorio di Programmazione e Calcolo
UNIVERSITA DEGLI STUDI ROMA TRE DIPARTIMENTO DI FISICA E. AMALDI Laboratorio di Programmazione e Calcolo 6 crediti a cura di Severino Bussino Anno Accademico 2017-18 0) Struttura del Corso 1) Trattamento
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 Incapsulamento Polimorfismo e Overloading Ereditarietà e Overriding Esercizi svolti Esercizi proposti Paradigma OO Le
Dettagli