I metodi F. Bombi 20.10.2003. Campi e metodi Abbiamo visto che una classe può contenere – Campi – Metodi stato I campi sono utilizzati per memorizzare.

Slides:



Advertisements
Presentazioni simili
Programmazione ad oggetti
Advertisements

Introduzione al linguaggio C++
Sottoprogrammi: funzioni e procedure
Oggetti Java.
Recupero debito quarto anno Primo incontro
1 Astrazioni sui dati : Specifica ed Implementazione di Tipi di Dato Astratti in Java.
1 Semantica Operazionale di un frammento di Java: lo stato.
MultiSet, Liste Ordinate
Le gerarchie di tipi.
Metodologie di Programmazione = decomposizione basata su astrazioni
Introduzione al linguaggio C
Fondamenti di Informatica
Funzioni definite dall’utente
Prof.ssa Chiara Petrioli -- Fondamenti di programmazione, a.a. 2009/2010 Corso di Fondamenti di programmazione a.a. 2009/2010 Prof.ssa Chiara Petrioli.
Informatica 2. Concetti fondamentali di programmazione Programmare vuol dire scrivere un algoritmo in un linguaggio che faccia funzionare un calcolatore.
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Introduzione a JAVA Anno Accademico 2009/2010.
1 Corso di Informatica (Programmazione) Lezione 12 (19 novembre 2008) Programmazione in Java: i metodi statici.
1 Lezione XIII Lu 17-Nov-2005 Programmare le classi.
Soluzione Esercizio - Classe Vettore
Progettazione dei Sistemi Interattivi (a.a. 2004/05) - Lezione 6 1 Programmi concorrenti: quanto è lungo un millisecondo? In un normale personal computer.
Approfondimento delle classi
Esercizi FUNZIONI Passaggio di parametri per valore, variabili e tipi locali e globali, prototipo.
Le funzioni.
Le funzioni a tempo di esecuzione
AN FI Array Array in Java. AN FI Array Dichiarazione di array in Java [ ]; //oppure u [] ; int a[]; int[] a; u La dimensione non è specificata.
AN FI Un denominatoe comune Linguaggi di programmazione Un denominatore comune.
FUNZIONI... Una funzione permette di dare un nome a una espressione rendendola parametrica float f(){ return * sin(0.75); } float f1(int x) { return.
Elementi di programmazione ad oggetti a. a. 2009/2010 Corso di Laurea Magistrale in Ingegneria Elettronica Docente: Mauro Mazzieri, Dipartimento di Ingegneria.
Linguaggi di programmazione: funzioni Le funzioni richiedono un numero fisso o variabile di argomenti, ovvero valori che devono essere passati alla funzione.
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.
Il linguaggio C Le funzioni C Language Il passaggio dei parametri
CdL Ingegneria Elettronica, Telecomunicazioni ed Automazione Fondamenti di Informatica LB A.A /02/2008 Alessandra Toninelli
Prof.ssa Chiara Petrioli -- Fondamenti di programmazione, a.a. 2009/2010 Corso di Fondamenti di programmazione a.a. 2009/2010 Prof.ssa Chiara Petrioli.
Enumerazioni e Classi 1. Enumerazioni Permettono di definire nuovi tipi che consistono in un insieme di valori costanti (ognuno con un nome) – Migliorano.
Lo sviluppo top down Le funzioni
2000 Prentice Hall, Inc. All rights reserved. Attivazione di funzioni La chiamata/attivazione di funzione viene indicata citando il nome della funzione.
ISTITUTO STATALE DI ISTRUZIONE SUPERIORE F. ENRIQUES CORSO JAVA – PROVA INTERMEDIA DEL 12 MARZO 2007 NOME: COGNOME: ________________________________________________________________________________.
I nomi in Java F. Bombi 18 novembre novembre 2003.
Complessità di un algoritmo
Fondamenti di Informatica 2 Ingegneria Informatica Docente: Giovanni Macchia a.a
Astrazione procedurale ed eccezioni
Le variabili in Java Nella programmazione tradizionale, una variabile è una porzione di memoria in cui è immagazzinato un certo tipo di dato. Per esempio.
JAVA Per iniziare. Verificare installazione javac –version java –version Cercare i files e sistemare eventualmente il path.
Prof.ssa Chiara Petrioli -- corso di programmazione 1, a.a. 2006/2007 Corso di Programmazione 1 a.a.2006/2007 Prof.ssa Chiara Petrioli Corso di Laurea.
1 novembre I nomi in Java F. Bombi 1 novembre 2002.
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 II Ingegneria Informatica Prof. M.T. PAZIENZA a.a – 3° ciclo.
Informatica 4 Funzioni. FUNZIONE: definizione MATEMATICA Relazione (o applicazione) binaria tra due insiemi A e B che associa a ogni elemento di A un.
Ugo de'Liguoro - Informatica 2 a.a. 03/04 Lez. 7 Tipi di dato e strutture dati Specifica e realizzazione di strutture informative come classi.
Programmazione in Java
1 Il linguaggio C Precisazioni sull’esperienza in laboratorio.
Ripasso su Java. Introduzione Per risolvere problemi complessi, i linguaggi di programmazione forniscono costrutti per realizzare nuove funzioni che trasformino.
Lo stato  I domini della semantica restano invariati: Ide, Val (Int  { ,  }) Loc (locazioni di memoria), FunctDecl. ma definiamo 2 funzioni: Loc :
LIP: 2 Maggio 2008 Classi Astratte. Cos’e’ una Classe Astratta una classe astratta e’ un particolare tipo di classe permette di fornire una implementazione.
Sommario Oggetti immutabili e non Tipi Primitivi: String, Arrays.
Progettare una classe 21 Febbraio La classe BankAccount Vogliamo realizzare una classe i cui oggetti sono dei semplici conti bancari. * Identifichiamo.
LIP: 11 Maggio 2007 Classi Astratte. Cos’e’ una Classe Astratta una classe astratta e’ un particolare tipo di classe permette di fornire una implementazione.
Introduzione a Java. Java Linguaggio Object-Oriented La maggior parte dei dati manipolati dai programmi e’ contenuta in oggetti La principale forma di.
LIP: 4 Maggio 2007 Interfacce. Cos’e’ una Interfaccia una interfaccia e’ un particolare tipo di classe contiene solo la specifica non ha implementazione.
1 Java secondo contatto Nel tunnel una luce…. 2 Esercizio - Contatore Definire la classe Contatore con le seguenti caratteristiche:  Il metodo getValore.
Fondamenti di informatica T-A Esercitazione 3 : Classi, metodi, visibilità, metodi statici AA 2012/2013 Tutor : Domenico Di Carlo.
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica
Corso di Algoritmi e Strutture Dati con Laboratorio Richiami di Java – parte II.
30/10/01Array 1  Un array e’ una struttura dati che contiene piu’ valori del medesimo tipo.  La lunghezza di un array e’ stabilita quando l’array viene.
1 Metodo I metodi sono uno strumento che i programmatori usano per strutturare i programmi, sia per renderli più facili da capire che per permettere il.
Basi di Java Strutture base di Java. Basi di java ▪Variabili ▪Operatori ▪Condizioni e Cicli ▪Array.
Metodi in Java. Note Identificazione input: (il raggio è un numero reale !!!) Identificazione delle operazioni necessarie al calcolo Area=r*r*PI Circonferenza=2*r*PI.
Transcript della presentazione:

I metodi F. Bombi

Campi e metodi Abbiamo visto che una classe può contenere – Campi – Metodi stato I campi sono utilizzati per memorizzare lo stato di un oggetto esemplare della classe variabili distanza Dei campi esiste una copia per ogni oggetto esemplare (o istanza) della classe. I campi rappresentano quindi delle variabile presenti nellesemplare (variabili distanza) in contrasto con le variabili dichiarate allinterno di un blocco di codice che vengono detta variabili locali

I metodi Un metodo è un segmento di codice scritto con il seguente formato [modificatori] Tipo nomeMetodo ([parametro1, parametro2, …]) [throws ecc1, ecc2, …] { corpo del metodo } I modificatori possono essere – [] oppure static – [] oppure public, private, protected

I metodi (segue) Il Tipo indica di che tipo sarà il valore eventualmente reso dal metodo alla sua conclusione – void quando il metodo non restituisce un valore – Tipo primitivo quando il metodo restituisce un valore – Nome di una classe quando il metodo restituisce un riferimento Se il metodo non è void deve terminare con unistruzione return espressione; e lespressione deve assumere il valore che si vuole che il metodo restituisca alla sua conclusione

Come si attiva un metodo Un metodo viene attivato con unespressione del tipo riferimento.nomeMetodo(argomento1, argomento2, …) parametro implicito variabili distanza Il riferimento con il quale si attiva un metodo deve puntare ad un oggetto esemplare della classe che contiene il metodo e viene detto parametro implicito, per il suo tramite il metodo ha accesso alle variabili distanza della classe actual paramter formal parameter Gli argomenti (detti qualche volta actual paramter) sono espressioni utilizzate per inizializzare i parametri del metodo (detti anche formal parameter) Un metodo riceve quindi – In ingresso: i valori degli eventuali argomenti – In ingresso e usciti: loggetto cui si riferisce il parametro implicito – In uscita: il valore di ritorno

Il passaggio dei parametri In generale alla chiamata di un sottoprogramma è possibile prevedere che i parametri siano passati per – Riferimento – Valore Alcuni linguaggi (ad es. Pascal, C++) prevedono sia il passaggio per riferimento che per valore, Java prevede solo il passaggio dei parametri per valore unidirazionale In Java il meccanismo del passaggio dei parametri è quindi unidirazionale, in altri termini non è possibile restituire un valore tramite un parametro

public class SelezioneInteri { private int[] v; private int n; public SelezioneInteri () {} public SelezioneInteri (int[] x, int y) { v = x; n = y; } public void ordina () { for (int i = 0; i < (n-1); i++) { int piccolo = i; for (int j = i+1; j < n; j++) if (v[j] < v[piccolo]) piccolo = j; int temp = v[piccolo]; v[piccolo] = v[i]; v[i] = temp; } public void ordina (int y) { n = y; ordina(); } public void ordina (int[] x, int y) { v = x; n = y; ordina(); } public class SelezioneInteri { private int[] v; private int n; public SelezioneInteri () {} public SelezioneInteri (int[] x, int y) { v = x; n = y; } public void ordina () { for (int i = 0; i < (n-1); i++) { int piccolo = i; for (int j = i+1; j < n; j++) if (v[j] < v[piccolo]) piccolo = j; scambia(v[piccolo], v[i]); } private void scambia (int x, int y) { int tmp = x; x = y; y = tmp; } public void ordina (int y) … } public void ordina (int[] x, int y){… } } public class SelezioneInteri { private int[] v; private int n; public SelezioneInteri () {} public SelezioneInteri (int[] x, int y) { v = x; n = y; } public void ordina () { for (int i = 0; i < (n-1); i++) { int piccolo = i; for (int j = i+1; j < n; j++) if (v[j] < v[piccolo]) piccolo = j; scambia(piccolo, i); } private void scambia (int x, int y) { int tmp = v[x]; v[x] = v[y]; v[y] = tmp; } public void ordina (int y) … } public void ordina (int[] x, int y){… } }