Pagina Iniziale | Preferiti Comunity: Login | Registrati | Newsletter | Forum | Concorsi Newsgroup
Canali: Hardware | Software | Files | Webmaster | Cellulari | Shop
Nel sito: News | Articoli | Files | Manuali | Consigli PC | Schede cellulari | Programmaz. | Hosting | Motori Ricerca | Glossario | Link
Servizi: Shopping | Forum | Crea un BLOG | Cartucce Compatibili | Tool News |   Sponsor: Automazione Industriale
  Articoli

Recensioni
Consigli per PC


  News e files

Software
Telefonia
Internet
Tecnologia
Files e Download


  Manualistica

Guide HW/SW
Scripts ASP
Scripts HTML
Scripts Java
Scripts Delphi
Glossario


  Shopping

Hardware
Software e Giochi
Elettronica
Cinema e Film
Console e Accessori
Prodotti Ufficio
Formazione e Corsi

Tieniti aggiornato sul mondo della tecnologia con la nostra newsletter!
La tecnologia sulla tua
casella e-mail

[Info Newsletter]


Concessionaria Pubblicitaria

<< News Precedente [Fine Pagina] News Successiva >>
Il linguaggio Java: lez.10/10

Un articolo di: Fonte Esterna del 10/02/2003      Letture: 15875
Vai alla pagina:
 1 - Dall'unità didattica 9.1 alla 9.4

Si ringrazia Claudio De Sio per la concessione del materiale pubblicato in questo articolo.

Modificatori, package ed interfacce

Obiettivi:

Il Lettore al termine di questo capitolo dovrà essere in grado di

Saper utilizzare tutti i modificatori d’accesso (unità 9.1, 9.2) .
Saper dichiarare ed importare package (unità 9.3).
Saper utilizzare il modificatore final (unità 9.4).
Saper utilizzare il modificatore static (unità 9.5).
Saper utilizzare il modificatore abstract (unità 9.6).
Comprendere l’utilità di classi astratte ed interfacce (unità 9.6, 9.7).
Comprendere e saper utilizzare l’ereditarietà multipla(unità 9.7).

Unità didattica 9.1)


- Modificatori fondamentali

Un modificatore, è una parola chiave capace di modificare in qualche modo, il significato di un componente di un’applicazione Java. Anche essendo fondamentale, non sempre l’utilizzo di un modificatore ha un chiaro significato per il programmatore. Non è raro leggere programmi Java che abusano di modificatori senza un particolare motivo. Si possono ovviamente anteporre alla dichiarazione di un componente anche più di un modificatore alla volta, senza tener conto dell’ordine in cui vengono ordinati tali modificatori. Una variabile dichiarata static e public avrà quindi le stesse proprietà di una dichiarata public e static. Il seguente schema riassume le associazioni tra la lista completa dei modificatori, e i relativi componenti a cui si possono applicare:

Notare che con la sintassi "(default)" vogliamo indicare la situazione in cui non anteponiamo alcun modificatore alla dichiarazione di un componente. In questo modulo presenteremo solo alcuni dei modificatori fondamentali che Java mette a disposizione, tutti gli altri, riguardano argomenti avanzati che non saranno trattati. Inizieremo la nostra carrellata dai cosiddetti modificatori di accesso (detti anche specificatori d’accesso), con i quali abbiamo già una discreta familiarità. Ne approfitteremo per puntualizzare il discorso sull’utilizzo dei package.

Unità didattica 9.2)

- Modificatori d’accesso

I modificatori di accesso regolano essenzialmente l’accesso ad un componente Java:

- public:

Può essere utilizzato sia relativamente ad un membro (attributo o metodo) di una classe, sia relativamente ad una classe stessa. Abbiamo già abbondantemente visto l’utilizzo relativo ad un membro di una classe. Sappiamo oramai bene, che un membro dichiarato pubblico, sarà accessibile da una qualsiasi classe situata in qualsiasi package.

Una classe dichiarata pubblica, sarà anch’essa visibile da un qualsiasi package.

- protected:

Questo modificatore definisce per un membro, il grado più accessibile dopo quello definito da public. Un membro protetto, sarà infatti accessibile all’interno dello stesso package, ed in tutte le sottoclassi della classe in cui è definito, anche se non appartenenti allo stesso package.

- default:

Se non anteponiamo modificatori d’accesso ad un membro di una classe, esso sarà accessibile solo da classi appartenenti al package dove è definito. Se dichiariamo una classe appartenente ad un package, senza anteporre alla sua definizione il modificatore public, essa sarà visibile solo dalle classi appartenenti allo stesso package. Possiamo considerare allora anche un incapsulamento di secondo livello.

- private:

Questo modificatore restringe la visibilità di un membro di una classe alla classe stessa.

Il tutto è riassunto nella seguente tabella riguardante i modificatori di accesso e la relativa visibilità (solo per i membri di una classe):

Unità didattica 9.3)

- Gestione dei package

Abbiamo visto come la libreria standard di Java sia organizzata in package. Questo ci permette di consultare la documentazione in maniera più funzionale, potendo ricercare le classi che ci interessano, limitandoci al package di appartenenza. Grazie ai package il programmatore ha quindi la possibilità di organizzare anche le classi scritte da lui medesimo. È molto semplice infatti, dichiarare una classe appartenente ad un package. La parola chiave package ci permette di specificare, prima della dichiarazione della classe (l’istruzione package deve essere assolutamente la prima in un file Java) il package di appartenenza. Ecco un frammento di codice che ci mostra la sintassi da utilizzare:

package programmi.gestioneClienti;
class AssistenzaClienti
{
  . . . . .

In questo caso la classe AssistenzaClienti apparterrà al package gestioneClienti, che a sua volta appartiene al package programmi. I package fisicamente saranno cartelle (directory). Ciò significa che, dopo aver dichiarato la classe appartenente a questo package, dovremo inserire la classe compilata all’interno di una cartella chiamata gestioneClienti, situata a sua volta all’interno di una cartella chiamata programmi. Di solito il file sorgente va tenuto separato dalla classe compilata così come schematizzato di seguito, dove abbiamo idealizzato i file con ovali, e le directory con rettangoli:

Il Java Development Kit ci permette comunque di realizzare il giusto inserimento dei file nelle cartelle, e la relativa creazione automatica delle cartelle stesse, mediante il comando: javac –d . AssistenzaClienti.java Lanciando il suddetto comando dalla cartella di base (dove è situato il file AssistenzaClienti.java), verranno quindi automaticamente create le cartelle programmi e gestioneClienti, ed il file AssistenzaClienti.class collocato nella cartella giusta, senza però spostare il file sorgente dalla cartella di base. A questo punto, supponendo che il file in questione contenga il metodo main, potremmo mandarlo in esecuzione solo posizionandoci nella cartella di base e lanciando il comando:

java programmi.gestioneClienti.AssistenzaClienti

infatti, a questo punto, il file è associato ad un package e non potrà essere più chiamato spostandosi nella cartella dove esso è presente utilizzando il comando:

java AssistenzaClienti

Inoltre, bisogna utilizzare un comando di import per utilizzare tale classe da un package differente.

Esistono altri problemi collegati all’utilizzo di package, che l’aspirante programmatore potrà incontrare, e risolvere con l’aiuto dei messaggi di errore ricevuti dal compilatore. Per esempio potrebbe risultare problematico riuscire ad utilizzare delle classi appartenenti ad un package, da una cartella non direttamente legata al package stesso. Ciò è risolvibile mediante l’impostazione della variabile di ambiente "classpath" del sistema operativo, che dovrebbe puntare alla cartella di base relativa al package stesso.

N.B.: sebbene semplice da spiegare, la gestione dei package può risultare molto difficoltosa e soprattutto noiosa se "fatta a mano". Se il lettore è arrivato sino a questo punto utilizzando uno strumento come il blocco note per esercitarsi, vuol dire che ora è pronto per passare ad utilizzare un editor più sofisticato. Un qualsiasi editor Java, anche il più semplice, gestisce l’organizzazione dei package in maniera automatica…

Unità didattica 9.4)


- Il modificatore final

Questo semplice modificatore ha un’importanza fondamentale. È applicabile sia a variabili, sia a metodi, sia a classi. Potremmo tradurre il termine final proprio con "finale", nel senso di "non modificabile". Infatti:

una variabile dichiarata final diviene una costante.

un metodo dichiarato final non può essere riscritto in una sottoclasse (non è possibile applicare l’override).

una classe dichiarata final non può essere estesa.

Vai alla pagina:

Elenco delle pagine di "Il linguaggio Java: lez.10/10"

Dall'unità didattica 9.1 alla 9.4 - Pagina 1
Dall'unità didattica 9.5 fino alle conclusioni - Pagina 2



[Indietro]    [Su]      [Home]      [Commenti]      [V. Stampabile]

Commento di Anonimo (ip: 93.46.114.175), scritto il 10/04/2009 alle 18:18:02
ì

Commenta questa notizia:
Non hai ancora fatto il
Login, puoi inserire commenti solo come anonimo.
ATTENZIONE: il tuo IP verrà memorizzato e mostrato a fianco del commento; con la pressione del tasto invia commento si esprime il consenso alla pubblicazione di tale informazione personale.
A discrezione dello staff, i commenti ritenuti non adatti od offensivi potranno essere rimossi. Nel caso di utilizzo di espressioni volgari od offensive il comportamento verrà segnalato al provider interessato.
Se non ti sei ancora registrato, cosa aspetti? Registrati subito.

Da ora puoi discutere dei problemi informatici anche sul nostro FORUM

Testo del commento:


  News correlate
 Corso Java @ilsoftware.it
 Il linguaggio Java: lez.10/10
 Il linguaggio Java: lez.9
 Il linguaggio Java: lez.8
 Il linguaggio Java: lez.7
 Il linguaggio Java: lez.6
 Il linguaggio Java: lez.5
 Il linguaggio Java: lez.4
  Ultime dal Forum

thesis disable comments on some pages
??????? Diult Diult Diult
essay on should we keep pets at home
writing an essay for college admissions
ib business and management past papers 2014
Zolpidem 5 mg APO ZOL 5
depression era essay
obstacles i overcame to attend college essay
russian march revolution essay

Comunicazioni / Note Legali / Staff / Collabora / Pubblicità / Privacy / Contatti


Triboo Media s.r.l. (società socio unico) - Viale Sarca 336 - Edificio 16, 20126 Milano (MI) Cap. Soc. 1.250.000,00 euro i.v. - P.IVA, C.F. e CCIAA di Milano IT06933670967 - REA MI-1924178 tel. +39 02 64741470 - fax +39 02 64741494 Società sottoposta alla direzione e coordinamento di TRIBOO SPA - all rights reserved CAP. SOC. EURO 28.740.210 I.V. - P.IVA 02387250307 - COD. FISC. e numero iscrizione al registro delle imprese CCIAA MI : 02387250307 tel.+39 02 64741401 - fax + 39 02 64741491. Utenti Connessi: 260


Pagina creata in 8,61sec. Powered by JuiceADV S.r.l.

Stats v0.1 (0,046sec.)