[JAVA] decoupage d'un projet en plusieurs fichiers

decoupage d'un projet en plusieurs fichiers [JAVA] - Programmation

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!

Reply

Marsh Posté le 24-05-2001 à 14:16:30   

Reply

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.

Reply

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 ?

Reply

Marsh Posté le 25-05-2001 à 00:59:08    

ouaip, c'est ca !

Reply

Marsh Posté le 25-05-2001 à 01:01:50    

ok thx
 
comment je fais alors pour dire que telle classe appartient a tel package ?

Reply

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 :
  1. package java.util;
  2. public class SuperList {
  3.     ...
  4. }


 
Puis, dans une autre classe, si tu veut utiliser ta classe SuperList, tu écris:

Code :
  1. import java.util.SuperList;


 
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]

Reply

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) ??

Reply

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) ??

Reply

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... :D


---------------
"C'est le boulot qu'on ne commence jamais qui est le plus long à terminer"
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed