University Logo

Università
di Padova

Diploma in Ingegneria Informatica
Corso di Fondamenti di Informatica 2
2 Moduli

A.A. 2001/2002

Versione 1.00 29/09/2001

Informazioni utili per lo studio


Introduzione a Java
Compilazione di package
Strutture lineari
Organizzazione degli esempi sulle strutture lineari
Ordinamento

Pagina principale Torna alla pagina principale


Introduzione a Java

Compilazione di package

Quando si utilizzano i package, ovvero nel caso si suddividano i moduli in raggruppamenti omogenei costituiti da classi correlate, per le quali possa valere la visibilità di tipo package (alternativa alle altre public, protected, private), è necessario collocare i moduli in subdirectory di un directory di partenza, che per comodità chiameremo root. Il sottoalbero di directory da root deve ricalcare la gerarchia di package che vengono definiti nei moduli dell'applicazione. Per esempio, i moduli del package FI2 vanno collocati in root\FI2, quelli del package FI2.Linear in root\FI2\Linear ecc. In questo modo è possibile organizzare le applicazioni in più moduli compilati separatamente ed inoltre una applicazione può far uso delle classi di un determinato package utilizzando l'istruzione import.

Affinché il compilatore ricerchi correttamente i moduli dei package definiti e importati, è necessario che la compilazione avvenga avendo come directory corrente root. Se ad esempio si deve compilare l'esempio ArrayStack.java che si trova nel subdirectory C:\Java\FI2\Linear avendo come directory corrente C:\Java si dà al comando:

javac FI2\Linear\ArrayStack.java

(supponendo ovviamente che il path del compilatore sia presente nella variabile PATH del DOS). Se una volta compilato si vuole eseguire l'esempio avendo come parametro il file gen10.txt che si trova nel subdirectory C:\Java\FI2\Util, il comando da dare, sempre avendo come directory corrente C:\Java, è il seguente:

java FI2.Linear.ArrayStack FI2\Util\gen10.txt

Nella libreria viene fornita, assieme ai sorgenti dei programmi, una coppia di batch file DOS per ciascun directory: il batch file j.bat serve per la compilazione, r.bat per l'esecuzione. Questi batch file consentono di avviare il compilatore e l'interprete rispettivamente partendo dal directory del sorgente da compilare, che coincide come visto con quello del corrispondente file .class. Ad esempio, utilizzando l'editor EditPlus è possibile impostare una coppia di tool commands che non fanno altro che chiamare ciascuno uno dei due batch file, ottenendo la corretta compilazione/esecuzione. In alternativa a questi batch file si può utilizzare il meccanismo che fa uso dell'opzione di comando classpath.

Per chi utilizza l'editor RealJ (v3.51) sono invece stati predisposti i file project, previsti da quel tool, per ciascuna delle varie applicazioni attivabili. Quelle che richiedono un input da stdin possono egualmente essere attivate dall'interno dell'editor ma è necessario farlo con la modalità 'Run with console' e non quella usuale che cattura l'output nella finestra in basso ma non consente l'input (se si tenta di attivare l'applicazione con la modalità usuale, si ottiene un errore chiaramente segnalato). I file project sono stati prodotti avendo come root un determinato directory: possono comunque essere adattati alla propria sistuazione se serve.

A mo' di esempio sono stati anche forniti alcuni file project generati con l'ambiente di editing JCreator: impostando opportunamente i valori dell''output path' e gli altri parametri dei 'JDK Tool', relativi ai singoli progetti, è possibile avviare la compilazione e l'attivazione dell'applicazione, similmente a quanto si può fare con RealJ.

Indice Torna all'indice


Strutture lineari

Organizzazione degli esempi sulle strutture lineari

Gli esempi del package FI2.Linear sono i più articolati e sono stati organizzati seguendo l'impianto del testo [Good] con alcuni necessari adattamenti ma cercando di mantenersi il più possibile aderenti a quanto descritto nel testo. Per avere un'idea complessiva dell'organizzazione gerarchica delle classi definite, si faccia riferimento allo schema in [Good] alla pag. 218 fig. 5.11. Si tratta di un ricco esempio di applicazione delle metodologie della programmazione object-oriented e pertanto queste classi e interfacce vanno analizzate con attenzione. Per la corretta sequenza di analisi degli esempi si veda il programma-schema. Un discorso analogo vale per gli alberi per i quali si rimanda allo schema in [Good] alla pag. 248 fig. 6.11

Indice Torna all'indice


Ordinamento

Indice Torna all'indice


Pagina principale Torna alla pagina principale