Componenti fondamentali di un programma

Ci sono alcuni concetti che sono alla base della conoscenzadi Java:

Classi

Oggetti

Membri:

           - Attributi (dati)

           - Metodi

Package

Di seguito sono fornite al lettore queste fondamentalinozioni, allo scopo di approcciare nel modo migliore allecaratteristiche del linguaggio che saranno presentate apartire dal prossimo modulo. Anteponiamo però unaconvenzione ausiliare.

- Convenzione per la programmazione Java:

L’apprendimento di un linguaggio orientato aglioggetti, può spesso essere molto travagliato,specialmente si hanno solide "radici procedurali".Abbiamo già accennato al fatto che Java, a differenzadel C++, praticamente ci obbliga a programmare ad oggetti.Non ha senso imparare il linguaggio senza sfruttare ilsupporto che esso da alla programmazione ad oggetti. Chiimpara il C++, ha un illusorio vantaggio. Può infattipermettersi di continuare ad utilizzare il paradigmaprocedurale della programmazione, e quindi imparare illinguaggio insieme ai concetti object oriented, comunquemettendoli inizialmente da parte. Ci si puòsempre esercitare creando funzioni e programmi chiamanti. InJava lo scenario si presenta più complesso. Inizieremodirettamente a creare applicazioni che saranno costituite daun certo numero di classi. Non basterà dare perscontato che "Java funziona così".Bisognerà invece cercare di chiarire ogni singolopunto poco chiaro, in modo tale da non creare troppaconfusione, che a lungo andare, potrebbe scoraggiare illettore. Per fortuna, con la sua chiarezza, Java ciaiuterà non poco, ed alla fine la soddisfazione diaver appreso in modo profondo determinati concetti, cidarà maggiore soddisfazione.

Proviamo da subito ad approcciare al codice in manieraschematica, introducendo una convenzione.

In questo testo distingueremo due ambiti quando scriviamoun’applicazione Java:

1) Ambito del compilatore (o compilativo, o delle classi)

2) Ambito della Java Virtual Machine (o esecutivo, o degli oggetti)

All’interno dell’ambito del compilatore,codificheremo la parte strutturale della nostra applicazione.L’ambito esecutivo ci servirà per definire ilflusso di lavoro che dovrà essere eseguito.

Distinguere questi due ambiti ci risulterà utile percomprendere i ruoli che dovrebbero avere all’internodelle nostre applicazioni, i concetti che saranno introdottiin questo modulo.