Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Introduzione
Cosa sono il codice SORGENTE e il codice OGGETTO ?
Sono programmi, il cui CODICE SORGENTE è scritto con una sintassi molto
simile a quella del C e C++, salvati in file di tipo testo con estensione .java. Il
CODICE OGGETTO compilato è contenuto nei file con estensione .class.
Non del tutto. Un programma compilato è in formato UNICODE, identico per tutti
i sistemi operativi, ma per essere eseguito deve essere ancora INTERPRETATO da
JRE o dal BROWSER compatibile Java. Un programma Pascal compilato è già in
formato eseguibile.
Lo schema indica quali passi sono necessari per realizzare ed eseguire un
programma Java.
appunti java 1.0 pag.3
File xxx.java
Editor a scelta salva codice sorgente in
formato Text
Interprete JAVA (per win95, Standalone Applet Browser (win95, Unix, Mac);
Unix, Mac), comando: Interpretazione
si deve costruire un file
C:\java xxx.class HTML con TAG <APPLET>
Esecuzione oppure
comando:
C:\appletviewer xxx.class
codice macchina
in esecuzione
i caratteri con cui sono scritte le parole chiave sono tutti minuscoli (java è text
sensitive, in altre parole gli identificatori a minuscolo oppure A maiuscolo
rappresentano due oggetti distinti).
appunti java 1.0 pag.4
public static sono le parole chiave che individuano le caratteristiche della
procedura progettata: public significa accessibile/invocabile da qualsiasi
programma, static significa che è allocata in memoria in modo statico. (Il
significato sarà comprensibile solo più avanti dopo aver acquisito maggiori
conoscenze del linguaggio)
void significa che la “function” progettata non restituisce risultati al
programma chiamante, non ha output
Il significato della parte restante dovrebbe essere comprensibile se si conosce il
Pascal. Si tratta rispettivamente dell’identificatore della Function e dei
parametri r ed a passati alla Function per valore. Sono i dati di input su cui
lavora il sottoprogramma Stampa().
Function Mcd(a,b:integer):integer;
public static int Mcd( int a, int b);
Si nota che è sufficiente indicare il tipo di dato (int) restituito come risultato.
Esempio 1
Programma che stampa nella finestra del monitor un messaggio.
Descrizione sintassi:
class Parola chiave di definizione di una classe. Un programma
è una classe. E’ l’equivalente della parola PROGRAM in
PASCAL.
N.B.: Una classe può non essere un programma
eseguibile.
appunti java 1.0 pag.5
{} Le graffe aperte e chiuse corrispondono all’individuazione
di un blocco. Sono l’equivalente di BEGIN END in
PASCAL.
public Parola chiave, significa che il metodo e “public” cioè
pubblico. Il main() deve sempre essere public. (Possono
esistere anche metodi private o protected)
static Parola chiave, significa che il metodo main() è un metodo
STATICO, cioè non allocato nella memoria dinamica. Il
metodo main è SEMPRE presente in un programma
STANDALONE e ha la funzione di avviare l’esecuzione.
NON è presente in un’APPLET.
String args[] Argomento o parametro sempre presente nel metodo
main() e corrisponde alla definizione di un array di String.
Si rimanda la trattazione ai capitoli successivi.
System.out.println() Istruzione di stampa di una stringa nella finestra DOS di
output.
La stampa in una finestra grafica non si esegue con
questa istruzione.
Per ciascuno dei tre casi elencati sopra la forma che assume una classe è la
seguente:
<HTML>
<BODY>
<APPLET codebase="C:/cartella" // (1)
code="Mio_applet.class" // (2)
width=300 height=180> // (3)
</APPLET> // (4)
</BODY>
</HTML>
Note:
(1) <Applet indica il TAG di avvio dell’Applet;
codebase= indica il percorso dove è memorizzato l’applet
da eseguire; nel nostro caso indica dove si
trova il file Mio_applet.class;
(2) code= indica il nome dell’applet da eseguire;
(3) width= , height= indicano larghezza e altezza del pannello sul
quale il Browser mostrerà i risultati
dell’applet;
(4) </Applet> indica il TAG di fine dell’Applet;
class coppia {
public double x=0.0, y=0.0;
}
appunti java 1.0 pag.7
Esempio 3
Si desidera definire un “oggetto” cerchio dotato di opportuni attributi e di due soli
metodi: uno per spostarlo e uno per cambiarne il colore. (E’ simile ad una UNIT
del Pascal).
class programma_prova_coppia {
public static void main(String arg[ ]) {
coppia mia=new coppia();
System.out.println(“la coppia è : “ +mia.x+ “ ,” +mia.y);
}
}
siccome il costruttore new coppia( ) genera una coppia con i valori di default, il
programma stamperà: la coppia è 0.0, 0.0
Si noti che anche la classe cerchio utilizza negli attributi la classe coppia per
definire le coordinate del centro.
appunti java 1.0 pag.8
Da quali parti è costituita una classe ?
La classe coppia ha solo la “parte” attributi e manca di qualsiasi metodo (o
operazione) che intervenga sugli attributi. Gli attributi sono pubblici e questo
significa che sono accessibili ad un programma esterno alla classe.
La classe cerchio oltre agli attributi (centro, raggio, colore) ha anche un metodo
costruttore (cerchio) e due metodi (sposta, cambia_colore). Gli attributi sono
privati e questo significa che un programma esterno alla classe non può
modificarli se non utilizzando i metodi che lo permettono. Il metodo sposta()
consente di cambiare le coordinate del centro, il metodo cambia_colore() consente
di mutare l’attributo colore. Non esiste la possibilità di cambiare il raggio del
cerchio perché non è stato costruito nessun metodo con questa finalità.
import java.awt.*;
class programma_prova_cerchio {
public static void main(String arg[ ]) {
coppia mia=new coppia(); // la coppia avrà i valori 0, 0
mia.x=100; mia.y=55; // assegno alla coppia 100, 55
double k = 30; // k è il valore del raggio
cerchio circ=new cerchio(mia, k); // si crea il cerchio circ
circ.sposta(10.5, 35); // sposta il centro
circ.cambia_colore(Color.green); // cambia il colore
}
}