decoupage d'un projet en plusieurs fichiers [JAVA] - Programmation
Marsh Posté le 24-05-2001 à 20:42:08
Java offre un niveau de plus que C++ au niveau du découpage. Tu y retrouves le découpage en classes, mais tu peux aussi grouper les classes en packages.
Note : en Java, on n'importe que des classes. Ca permet de dire au compilateur (et à la machine virtuelle) ", dans cette classe, je vais utiliser telle et telle autre classe, qui se trouve dans tel et tel autre package. Sachant que toutes les classes du package java.lang (mais pas ses "sous-packages" ) sont toujours toutes implicitement importées.
Marsh Posté le 24-05-2001 à 20:57:25
donc, si je te comprend bien, soit je peux faire un import maClasse.java (comme en c++)
sinon, je definis un package qui contient mes classes et j'importe le package.
C ca ?
Marsh Posté le 25-05-2001 à 01:01:50
ok thx
comment je fais alors pour dire que telle classe appartient a tel package ?
Marsh Posté le 25-05-2001 à 01:07:13
A ta première question. Oui et non. Encore une fois, on n'importe que des classes en Java. Même s'il y a un moyen de dire "j'importe toutes les classes du package machin" (ce que je ne recommande pas du tout d'utiliser).
Tu spécifies le package d'une classe en écrivant "package le-nom-du-package-complètement-qualifié".
Exemple : si tu pouvais étendre le package "java.util" avec une classe "SuperList", tu écrirais:
Code :
|
Puis, dans une autre classe, si tu veut utiliser ta classe SuperList, tu écris:
Code :
|
Dernière chose : toutes les classes d'un package se "voient" (puisqu'il s'agit bien de visibilité). Tu n'as donc jamais besoin d'importer une classe du package courant, parce que c'est toujours implicite.
Plus exactement, si tu regardes la documentation du langage Java, tu verras qu'il y a 3 types de visibilité pour une classe : "public", "package" et "private". Une classe "private" n'est accessible que par les classes du même fichier java. Une classe package (qui est la visibilité par défaut si tu n'en spécifie aucune) n'est accessible que par les classes du même package. Une classe "public" peut être utilisée par une classe d'un autre package dès lors que cette dernière déclare son utilisation avec une clause "import".
[edit]--Message édité par BifaceMcLeOD--[/edit]
Marsh Posté le 25-05-2001 à 01:45:24
ok merci c clair maintenant.
Juste pour savoir, j'ai le droit de rajouter ma classe a un package deja existant (comme dans ton exemple ci-dessus avec java.util) ??
Marsh Posté le 25-05-2001 à 01:45:27
ok merci c clair maintenant.
Juste pour savoir, j'ai le droit de rajouter ma classe a un package deja existant (comme dans ton exemple ci-dessus avec java.util) ??
Marsh Posté le 25-05-2001 à 09:47:05
en general, les packages standards du JDK... on n'y touche pas.
De toute facon il fodrai pour cela ke tu trifouilles dans les tar et tout et tout...
Marsh Posté le 24-05-2001 à 14:16:30
Voila, venant du C++, j'avais l'habitude de beaucoup decouper mes projets (style 1 .h et 1 .cpp par classe).
Seulement, sous Java, j'ai du mal a comprendre le systeme des import :
pour structurer son programme, est-ce qu'on est obligé de définir des packages (qui peuvent correspondre a des sous-repertoires ??) ou bien on peut faire un import monFichier.java; ??
merci!