Oggetti e dati primitivi Programmazione Corso di laurea in Informatica.

Slides:



Advertisements
Presentazioni simili
Il paradigma Object Oriented
Advertisements

Programmazione ad oggetti
Progettazione dei Sistemi Interattivi (A.A. 2004/05) - Lezione 2 1 Progettazione e Sviluppo di Software ad Oggetti 4 OBJECT-ORIENTED ANALYSIS Processo.
Meccanismi di IPC Problemi classici di IPC
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità B1 Le basi della programmazione a oggetti.
Oggetti Java.
Recupero debito quarto anno Primo incontro
PHP.
Università di camerino
Programmazione object oriented in C++
1 Processi e Thread Meccanismi di IPC, Inter Process Communication (1)
1 Processi e Thread Meccanismi di IPC (1). 2 Comunicazioni fra processi/thread Processi/thread eseguiti concorrentemente hanno bisogno di interagire per.
Fondamenti di Informatica
Appunti di Java Da: Concetti di informatica e Fondamenti di Java2 - 2Ed. - Cay Horstmann.pdf.
1 Programmazione ad oggetti in Java E.Mumolo, DEEI
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Introduzione a JAVA Anno Accademico 2009/2010.
Corso di Laurea in Biotecnologie Informatica (Programmazione)
1 Corso di Informatica (Programmazione) Lezione 12 (19 novembre 2008) Programmazione in Java: i metodi statici.
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Array Anno Accademico 2009/2010.
Corso di Informatica (Programmazione)
1 Corso di Informatica (Programmazione) Lezione 13 (21 novembre 2008) Programmazione in Java: stringhe e array.
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) JAVA: funzione di output a video Anno Accademico 2009/2010.
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) JAVA: i commenti Anno Accademico 2009/2010.
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Le stringhe di caratteri in Java Anno Accademico 2009/2010.
Derivazione tra classi
Lezione 2: Programmazione Orientata agli Oggetti
Oggetti e dati primitivi
Programmazione Corso di laurea in Informatica
Programmazione Corso di laurea in Informatica
Istruzioni di selezione in Java Programmazione Corso di laurea in Informatica.
Approfondimento delle classi
Dichiarazione di classi Programmazione Corso di laurea in Informatica.
Java base IV: Java e la programmazione O.O.
Introduzione a:. Nella prima parte di questo corso si vedranno i CONCETTI di: CLASSE (programma) METODO (Algoritmi e dati) CONCETTI CLASSICI DI PROGRAMMAZIONE.
Elementi di programmazione ad oggetti a. a. 2009/2010 Corso di Laurea Magistrale in Ingegneria Elettronica Docente: Mauro Mazzieri, Dipartimento di Ingegneria.
AlgoLab - Ereditarieta' Ereditarietà e polimorfismo in Java Laboratorio di Algoritmi 02/03 Prof. Ugo de Liguoro.
INTRODUZIONE l sistema operativo è il primo software che lutente utilizza quando accende il computer; 1)Viene caricato nella memoria RAM con loperazione.
Componenti fondamentali di un programma Java
I Metodi in Java Il termine "metodo" è sinonimo di "azione". Quindi, affinché un programma esegua qualche istruzione, deve contenere metodi.
Introduzione alla programmazione Object Oriented
ISTITUTO STATALE DI ISTRUZIONE SUPERIORE F. ENRIQUES CORSO JAVA – PROVA INTERMEDIA DEL 12 MARZO 2007 NOME: COGNOME: ________________________________________________________________________________.
1 Astrazioni sui dati : Ragionare sui Tipi di Dato Astratti dispense prof. G. Levi.
Enumerazioni e Classi 1. Enumerazioni Permettono di definire nuovi tipi che consistono in un insieme di valori costanti (ognuno con un nome) – Migliorano.
1 Lucidi delle esercitazioni di Sistemi di Elaborazione in Rete Università degli Studi della Calabria Corso di Laurea in Ingegneria Gestionale A.A. 2003/2004.
Fopndamenti di programmazione. 2 La classe String Una stringa è una sequenza di caratteri La classe String è utilizzata per memorizzare caratteri La classe.
Fondamenti di Programmazione Prof.ssa Elisa Tiezzi
ISTITUTO STATALE DI ISTRUZIONE SUPERIORE F. ENRIQUES CORSO JAVA – PROVA INTERMEDIA DEL 12 MARZO 2007 NOME: COGNOME: ________________________________________________________________________________.
I metodi F. Bombi Campi e metodi Abbiamo visto che una classe può contenere – Campi – Metodi stato I campi sono utilizzati per memorizzare.
I nomi in Java F. Bombi 18 novembre novembre 2003.
Pippo.
Fondamenti di Informatica 2 Ingegneria Informatica Docente: Giovanni Macchia a.a
Programmazione a oggetti
Programmazione ad oggetti
Lezione 1 Panoramica sui paradigmi di programmazione
Variabili e assegnazione
Programmazione ad oggetti
Ereditarieta’. Contenuti Introduciamo un meccanismo fondamentale di Java: l’ereditarieta’ Permette di estendere classi gia’ definite (ovvero di definire.
1 Osservazioni Generali Struttura di programma Gerarchia di classi: overloading, overriding, e dispatching Analisi ed esecuzione Modificabilità e condivisione.
Fondamenti di informatica Oggetti e Java Luca Cabibbo Luca Cabibbo – Fondamenti di informatica: Oggetti e Java Copyright © 2004 – The McGraw-Hill Companies.
Ugo de'Liguoro - Informatica 2 a.a. 03/04 Lez. 7 Tipi di dato e strutture dati Specifica e realizzazione di strutture informative come classi.
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica
Fondamenti di Informatica 2 Ingegneria Informatica Docente: Giovanni Macchia a.a
Informatica Lezione 6 Psicologia dello sviluppo e dell'educazione (laurea magistrale) Anno accademico:
La Programmazione ad Oggetti
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica
La programmazione ad oggetti
Introduzione alle Classi e agli Oggetti in Java 1.
Transcript della presentazione:

Oggetti e dati primitivi Programmazione Corso di laurea in Informatica

AA 2003/04 © Alberti Programmazione 4. Oggetti e dati primitivi 2 Introduzione agli oggetti Interagiamo con oggetti di uso quotidiano, conoscendone le funzioni, ma non il funzionamento interno Gli oggetti sono scatole nere dotate di interfaccia che limita laccesso ai meccanismi interni Gli oggetti hanno uno stato Linsieme delle proprietà che lo caratterizzano in un dato istante e un comportamento Linsieme delle azioni che un oggetto può compiere Un oggetto sw è unastrazione o un modello della realtà che limita il numero dei dettagli rappresentati allessenziale per il contesto considerato

AA 2003/04 © Alberti Programmazione 4. Oggetti e dati primitivi 3 Astrazione Lastrazione nasconde o ignora dettagli inessenziali Un oggetto è unastrazione Non ci preoccupiamo dei suoi dettagli interni per usarlo Non conosciamo come funziona il metodo println quando linvochiamo Effettuiamo astrazioni continuamente Possiamo trattare solo poche informazioni contemporaneamente Ma se raggruppiamo le informazioni (come gli oggetti) allora possiamo trattare informazioni più complicate Quindi, possiamo anche scrivere software complesso organizzandolo attentamente in classi e oggetti

AA 2003/04 © Alberti Programmazione 4. Oggetti e dati primitivi 4 Gli oggetti software Lo stato di un oggetto sw è descritto e rappresentato da una o più variabili Una variabile è un dato individuato da un identificatore il comportamento è definito dai metodi Un oggetto sw è costituito dallinsieme delle variabili e dei metodi

AA 2003/04 © Alberti Programmazione 4. Oggetti e dati primitivi 5 Oggetti e classi Gli oggetti sono generati da una classe Si dicono anche istanze della classe La classe è uno schema per produrre una categoria di oggetti strutturalmente identici La classe costituisce il prototipo Una classe è una fabbrica di istanze: possiede lo schema e la tecnica di produzione

AA 2003/04 © Alberti Programmazione 4. Oggetti e dati primitivi 6 Gli oggetti come astrazione Un oggetto che modella una bicicletta Una velocità (20 Km/h), il giro dei pedali (15 g/m) e la marcia (5°) sono variabili di istanza proprietà rappresentate in ciascuna bicicletta modellata

AA 2003/04 © Alberti Programmazione 4. Oggetti e dati primitivi 7 Gli oggetti come astrazione – 2 Inoltre nel modello rappresentiamo funzioni come frenare o cambiare marcia, che modificano le variabili distanza Si chiamano metodi distanza perché hanno accesso alle variabili distanza e le modificano

AA 2003/04 © Alberti Programmazione 4. Oggetti e dati primitivi 8 Le istanze Definita una classe, si possono creare un numero arbitrario di oggetti appartenenti alla classe

AA 2003/04 © Alberti Programmazione 4. Oggetti e dati primitivi 9 Incapsulamento dei dati Nascondere le informazioni fornendo uninterfaccia Le variabili di un oggetto, che ne rappresentano lo stato, sono nascoste allinterno delloggetto, accessibili solo ai metodi Idealmente i metodi proteggono le variabili 4 diversi livelli di accesso a metodi e variabili Private : accessibili solo alla classe Protected : accessibili a classe, sottoclassi e al pacchetto Public : accessibili a chiunque e quindi anche alle sottoclassi Senza modificatori: accessibili solo alle sottoclassi del pacchetto Consente modularità e flessibilità

AA 2003/04 © Alberti Programmazione 4. Oggetti e dati primitivi 10 I messaggi Gli oggetti interagiscono tra loro per ottenere funzioni più complesse La bicicletta appesa in garage è un oggetto e basta, ci vuole un ciclista che interagisca con lei perché sia interessante Gli oggetti sw per interagire si mandano messaggi Chiedendo di eseguire un certo metodo

AA 2003/04 © Alberti Programmazione 4. Oggetti e dati primitivi 11 I messaggi – 2 Spesso i metodi necessitano di informazioni per poter essere eseguiti: i parametri Tre componenti: Loggetto a cui il messaggio è rivolto Il metodo da eseguire per ottenere un certo effetto I parametri se necessari al metodo

AA 2003/04 © Alberti Programmazione 4. Oggetti e dati primitivi 12 I messaggi – 3 Un oggetto può essere visto come un insieme di servizi che possiamo chiedere di eseguire I servizi sono definiti dai metodi Il comportamento degli oggetti è definito dai suoi metodi e il meccanismo di invio dei messaggi consente linterazione tra gli oggetti Gli oggetti che si scambiano i messaggi possono anche essere distanti tra loro Su macchine diverse Non appartenenti allo stesso modello

AA 2003/04 © Alberti Programmazione 4. Oggetti e dati primitivi 13 Interfaccia Linterfaccia è linsieme dei messaggi che un oggetto è in grado di interpretare Un oggetto deve soddisfare la richiesta di un messaggio Eseguendo il metodo si soddisfa la risposta ad un messaggio da parte di un agente nome: carlo marcia: 5 vel: 20 ciclista_Abicicletta_rossa cambia (marcia)

AA 2003/04 © Alberti Programmazione 4. Oggetti e dati primitivi 14 Inviare messaggi Il ciclista ciclista_A che vuole cambiare marcia invia il messaggio alloggetto bicicletta_rossa bicicletta_rossa.cambia(2); oggetto metodo i parametri informazioni fornite al metodo

AA 2003/04 © Alberti Programmazione 4. Oggetti e dati primitivi 15 Invocazione di un metodo Molte istruzioni sono invocazioni di metodi su oggetti La sintassi della chiamata del metodo: Chiediamo il servizio di stampa, invocando il metodo println delloggetto System.out System.out.println (Le cose importanti per prime."); oggetto metodoi parametri oggetto.nomeMetodo (parametri)

AA 2003/04 © Alberti Programmazione 4. Oggetti e dati primitivi 16 Metodi e oggetti I metodi possono essere invocati su oggetti della classe che hanno quel metodo nella loro interfaccia Il metodo println si può applicare a oggetti della classe PrintStream System.out.println() Il metodo length si può applicare a oggetti della classe String salute a tutti.length Quindi causa errore chiamare: salute a tutti.println

AA 2003/04 © Alberti Programmazione 4. Oggetti e dati primitivi 17 I metodi println e print Loggetto System.out della classe PrintStream fornisce altri servizi Il metodo print simile al metodo println - non fa avanzare il cursore alla riga successiva Quindi quello che è stampato dopo listruzione print appare sulla stessa riga Esempio Conto_alla_rovescia.javaConto_alla_rovescia.java

AA 2003/04 © Alberti Programmazione 4. Oggetti e dati primitivi 18 La classe predefinita String Java mette a disposizione oggetti di tipo predefinito String per rappresentare stringhe di caratteri Ogni stringa letterale, delimitata dai segni, è un oggetto della classe String Una stringa letterale non può essere spezzata su più righe nel codice Esempio Fatti.java Fatti.java