You are on page 1of 6

DOMANDE + RISPOSTE

* fare un UML sintetico (=solo nome classi) del programma ProvaGrafica, oppure degli altri inviati o di un qualunque es fatto (che ha pi classi) (FARE FLAG) * che cos' un metodo -Un metodo (o funzione) un sottoprogramma o per meglio dire una funzionalit aggiuntiva che andiamo a
richiamare nel nostro programma. I metodi in Java realizzano sottoprogrammi: programmi che sono definiti per scopi particolari ma che non possono "vivere" da soli.

* che cosa sono i parametri di input, a che cosa servono - i parametri di input contengono le i dati di ingresso di un metodo, questo serve per il ritorno del risultato assegnando il valore dellespressione in una variabile del main * Che cosa vuol dire chiamare un metodo -chiamare un metodo vuol dire chiamare una funzionalit che noi abbiamo nel nostro programma * classificare i metodi -Metodi : intestazione Lintestazione contiene Uno specificatore di accesso public, private specifica quali altri metodi possono chiamare/eseguire il metodo Il tipo di dati restituito int, float, ..., void indica il tipo di dato del valore che calcola il metodo (deve essere uguale alla espressione indicata nellistruzione return). Senza espressione il tipo void. Il nome del metodo max, stampa, dividi, ... lidentificatore da usare quando si chiama/esegue il metodo. Un elenco dei parametri formali rappresentano linput del metodo e si indicano con tipo e nome separati da virgole: public float dividi(float a, int b); -Metodi : overloading La firma o segnatura indica l'insieme del nome e dei parametri di un metodo, essa deve essere unica. In Java possono esistere due metodi con lo stesso nome a patto che abbiano parametri formali di numero e/o tipo differente.

Ad esempio: void stampa (char x) void stampa (int x) void stampa (int x, int y) In questo caso di parla di overloading o sovraccarico. Il tipo restituito non contribuisce alla firma del metodo. Ad esempio int somma(int x, int y) e float somma(int x, int y)hanno la stessa firma quindi non sono ammissibili. In questo caso occorre usare un nome diverso o parametri di tipo diverso. Metodi : return Per ritornare i valori si usa l'istruzione return seguita da una espressione. return ris; La return deve tornare un valore dello stesso tipo o di un tipo compatibile con quello del metodo. Se lespressione non c come argomento della return questa serve solo a far terminare un metodo. return; Se non viene eseguita una return o viene eseguita senza argomenti, nel metodo chiamante non bisogna eseguire un assegnamento ma solo linvocazione. stampa(car); * differenza tra chiamata e definizione di una funzione - I parametri della chiamata, se esistono, sono detti parametri attuali e devono essere dello stesso tipo dei parametri formali. Ha un ritorno la chiamata di una funzione -Le funzioni nei linguaggi imperativi hanno punti in comune con le funzioni matematiche,loro hanno il compito di calcolare un risultato e ritornalo come un valore , quindi la funzione ha lo scopo di produrre un valore . * idem per una procedura

-Le procedure sono simili alle funzioni, ma non hanno il compito di calcolare un risultato e ritornarlo come un valore. Lo scopo di una procedura non quindi di produrre un valore, ma di modificare lo stato, cio il contenuto della memoria di un programma. -Una volta dichiarate, le procedure si possono utilizzare nei programmi tramite la cosiddetta chiamata di procedura. Le procedure lavorano su variabili globali e modificano il loro contenuto, mentre le funzioni lavorano su variabili locali e ritornano un risultato. Non c assegnamento perch le procedura non ritorna un valore ! * che differenza c' tra chiamata ad un metodo statico Metodi statici della classe Sono metodi che:

non sono associati a un oggetto voglio che siano disponibili a tutti i programmi che usano la classe

e non ha un oggetto di invocazione! gli statici esistono anche se non esiste nessun oggetto del tipo di cui
sono membri.

e ad uno non statico -una funzione che, invece, calcola quanti oggetti di quel tipo sono stati creati ha senso di esistere anche
quando nessun oggetto stato creato (ritorner 0)

Tuona na sagot (L'unica differenza che il metodo statico non ha parametri impliciti (a) Per parametro implicito, s'intende la variabile "this", accessibile dai metodi d'istanza, che fa riferimento all'istanza di oggetto su cui il metodo stato chiamato. Di conseguenza, un metodo statico NON pu: -> accedere alle variabili di istanza (non statiche) -> invocare metodi di istanza (non statici) -> utilizzare classi interne d'istanza (non statiche)

* dichiarazione di una variabile di tipo primitivo

I tipi primitivi di Java sono simili a quelli degli altri linguaggi di programmazione, solo che assumono calori leggermente diversi.

Tipo

Valore

boolean

valori che possono essere true e false

char

i caratteri, sono di 16 bit, e sono codificati Unicode 1.1.5, negli altri linguaggi sono ASCII, di soli 8 bit

byte

interi di 8 bit con segno, ovvero numeri compresi tra meno (due alla settima) e due alla ottava

short

interi di 16 bit con segno

int

interi di 32 bit con segno

long

interi di 64 bit con segno

float

reali di 32 bit in virgola mobile (IEEE 754-1985)

double

reali di 64 bit in virgola mobile (IEEE 754-1985)

boolean

assume solo valori true e false

* dati primitivi e non : classificazione Tipi primitivi char

byte short int long boolean float double Le variabili di tipo primitivo non sono oggetti di una classe; per rientrare nel paradigma OO, sono state introdotte le classi involucro (wrapper), ognuna modellante i tipi di dato primitivi; ogni oggetto di una classe wrapper ha un attributo che contiene il valore literal, e sono anche per corredati da metodi di utilit * dichiarazione di un oggetto e sua allocazione : significato, come si fa, vari modi stampata * come si crea in un main un oggetto di nome mioOggetto di tipo ClasseOggettoXYZ, in cui c' il costruttore senza parametri di input? Con extends * Nella classe OggettoMagnifico ci sono : this.nome , this() , this(nome)this.nome() : differenze stampata * Dato un UML semplicizzimo (per es una classe A con una sola variabile ed un costruttore e un osservatore ed una classe B figlia di A condire quale sarebbe la sua codifica in java

classe a extends b

* come si usa in un certo main un metodo modificatore void modi(int k) (contenuto nella classe ClasseX) di un oggetto mioOggetto di tipo ClasseX ; devo prima creare l'oggetto ? perch? * che cos' la firma di un metodo. Quali sinonimi ci sono per questo termine * differenza tra overloading e overriding * relazioni tra le classi * trovare un esempio java tra gli es fatti di composizione, di aggregazione , di ereditariet di utilizzo. * per ciascuna relazione, scrivere uno o due sininimi * ....

Trovate voi altre domande!