JavaProgrammazione

Package

La “modularità” ci permette di partizionare il programma in componenti che riescono a ridurre il grado di complessità, il package è lo strumento che ci permette di realizzarlo.

In pratica i packages ci permettono di organizzare, evitare conflitti, controllare l’accesso/posizione a classi in modo più semplice. Esistono package definiti dalla piattaforma, ad esempio java.lang (le classi fondamentali) java.io (le classi per l’input/outpu) ma possiamo crearne noi per il nostro utilizzo.

La keyword package deve essere usata come prima istruzione, va pensato come la path in un albero di directory dentro la quale vengono mantenuti i files.

I package definiscono come si può fare riferimento alle classi in essi contenuti, per default java considera che le classi appartenenti al medesimo package hanno un grado di “parentela” più stretto rispetto a quelle che appartengono a package diversi.

Classi ed interfacce possono far parte di un unici package per questi motivi:

  • il team determina le classi legate fra di loro;
  • è più semplice determinare le funzioni di ciascuna classe presenti nel package;
  • si evitano conflitti con altre classi presenti in altri package;
  • le classi presenti nel package hanno minor restrizioni all’accesso delle altre classi;