« Programmation Java/Paquetages » : différence entre les versions

Contenu supprimé Contenu ajouté
m DavidL a déplacé la page Programmation Java/Extensions vers Programmation Java/Paquetages : Terme français plus approprié
Aucun résumé des modifications
Ligne 1 :
<noinclude>{{Programmation Java}}</noinclude>
 
Les extensionspaquetages, ou ''packages'', permettent de grouper ensemble des classes rattachées, à la manière des dossiers qui permettent de classer des fichiers.
En java, un paquetage particulier correspond à un répertoire.
Les classes d'un projet en java devraient toutes être dans un paquetage particulier afin de les catégoriser.
Cela a plusieurs avantages :
* retrouver les classes plus facilement
*:Par exemple, la fenêtre d'édition <code>EditorWindow</code> dans le package <code>app.editeur.fenetre</code>.
* différencier deux classes ayant un nom identique ou similaire mais au rôle différent et éviter un conflit de nom.
*:Par exemple, une classe <code>Adresse</code> dans un package <code>courrier.client</code> pour la gestion d'une adresse postale et une classe <code>Adresse</code> dans un package <code>reseau.hote</code> pour la gestion d'une adresse IP.
 
== Utilisation ==
 
Le fichier à inclure dans uneun extensionpaquetage doit contenir le mot-clé '<code>package</code>' suivi du nom dedu l'extensionpaquetage.
 
Ce nom peut être composé de plusieurs mots séparés par un point ( <code>.</code> ).
Ligne 11 ⟶ 18 :
=== Exemple ===
 
pour inclure la classe Toto dans l'extensionle paquetage '<code>mesPackages.sousPackage1</code>', écrire au début du fichier '''Toto.java''' :
<syntaxhighlight lang="java">
package mesPackages.sousPackage1;
Ligne 17 ⟶ 24 :
</syntaxhighlight>
 
La structure des répertoires doit suivre le nom dedu l'extensionpaquetage, c'est-à-dire que le fichier '''Toto.java''' doit se situer dans un sous-répertoire '''mesPackages/sousPackage1/Toto.java'''.
 
Lorsqu'ensuite on désire utiliser la classe Toto depuis une autre classe, il faudra au préalable écrire :
Ligne 27 ⟶ 34 :
import mesPackages.sousPackage1.*;
// importation de toutes les classes
// dedu l'extensionpaquetage mesPackage.sousPackage1
</syntaxhighlight>
ou utiliser directement une référence àau l'extensionpaquetage :
<syntaxhighlight lang="java">
mesPackages.sousPackage1.Toto toto
Ligne 37 ⟶ 44 :
== Remarques ==
 
En ''Java'', les programmeurs attribuent généralement un nom qui commence par une minuscule pour uneun extensionpaquetage, et un nom qui commence par une capitale pour une classe.
 
Les bibliothèques Java destinées à être distribuées regroupent leurs classes dans uneun ou plusieurs extensionspaquetages dont le nom est normalement précédé par un nom de domaine (dans l'ordre inverse), par exemple :
<syntaxhighlight lang="java">
package org.wikibooks.exemple;
Ligne 46 ⟶ 53 :
== Compilation ==
 
L'utilisation d'uneun extensionpaquetage nécessite une structure des répertoires correspondant au nom dedu l'extensionpaquetage.
 
Par exemple, le fichier <code>Toto.java</code> définit la classe <code>Toto</code> dedu l'extensionpaquetage <code>org.wikibooks.exemple</code> débute par :
<syntaxhighlight lang="java">
package org.wikibooks.exemple;