• Aucun résultat trouvé

2I002 GESTION DE PROJETS PACKAGE, COMPILATION, IDE

N/A
N/A
Protected

Academic year: 2022

Partager "2I002 GESTION DE PROJETS PACKAGE, COMPILATION, IDE"

Copied!
7
0
0

Texte intégral

(1)

2I002

GESTION DE PROJETS PACKAGE, COMPILATION, IDE

Vincent Guigue

(2)

Introduction

Bonne architecture =beaucoup de petites classes...

... chacune étant ciblée, lisible, ré-utilisable

⇒Le répertoire de projet devient rapidement illisible !

Solution = arborescence de répertoires

Sous-répertoires associés aux concepts de bas niveaux, Sous-sous-répertoires de test

2i002 – Packages 2/6

(3)

Exemple

Gestion d’une course de voiture autonomes

1 Réfléchir à un découpage de bas niveau:

Circuit Voiture

Autonomegestion de l’IA / stratégies

2 Ajouter les outils (transverses) Gestion de lagéométrie

Gestion des fichiers (sauvegardes/chargements) Interface graphique (IHM)

3 Package de test: Idée:

valider le fonctionnement de chaque objet indépendamment du reste du projet (dans la mesure du possible).

sous-répertoire de testdans chaque package principal

(4)

Exemple

Gestion d’une course de voiture autonomes

1 Réfléchir à un découpage de bas niveau:

Circuit Voiture

Autonomegestion de l’IA / stratégies

2 Ajouter les outils (transverses) Gestion de lagéométrie

Gestion des fichiers (sauvegardes/chargements) Interface graphique (IHM)

3 Package de test:

Idée:

valider le fonctionnement de chaque objet indépendamment du reste du projet (dans la mesure du possible).

sous-répertoire de testdans chaque package principal

2i002 – Packages 3/6

(5)

Déclarations obligatoires

Arborescence: 1 Déclaration de paquet

1 // F i c h i e r A . j a v a 2 p a c k a g e p a q u e t 1 ; 3 p u b l i c c l a s s A { 4 . . .

2 Déclaration d’import (pour les classes de paquets différents)

1 p a c k a g e p a q u e t 2 ; 2 i m p o r t p a q u e t 1 . A ;

3 p u b l i c c l a s s ExtA e x t e n d s A{

4 p u b l i c ExtA ( ) {

5 s u p e r( ) ;

6 }

3 Sous-package

1 p a c k a g e p a q u e t 1 . s o u s p a q u e t 1 ; 2 p u b l i c c l a s s TestA {

3 p u b l i c s t a t i c v o i d main ( S t r i n g [ ] a r g s ) { 4 // t e s t s s p e c i f i q u e s a A

4 Classe JDK

(6)

Compilation / exécution du code

Compilation (position = racine) Spécification d’un répertoire cible : -d Spécification du répertoire de gestion des sources : -cp

» javac -cp src -d bin src/paquet1/TestPaq1.java

⇒Compile l’exécutable + toutes les dépendances Exécution

Instruction pour se positionner dans le répertoire d’exécution: -cp

Chemin avec des. (pas des/)

» java -cp bin paquet1.TestPaq1

ou

» cd bin

» java paquet1.TestPaq1

2i002 – Packages 5/6

(7)

Niveaux de visibilité

introduction des packages = subtilités sur la visibilité

1 package p a q u e t 1 ;

2 p u b l i c c l a s s A {

3 p u b l i c i n t i ; // p u b l i c

4 p r o t e c t e d i n t j ; // p r o t e c t e d

5 p r i v a t e i n t k ; // p r i v a t e

6 i n t n ; // package ( n o u v e a u )

7

8 p u b l i c A ( ) {

9 i =1; j =2; k =3; n =4;

10 }

11 }

Visibilités des attributs deA depuis :

i j k n

Même répertoire B, TestPaq1 √ √

× √

Classe fille ExtA √ √

× ×

Références

Documents relatifs

Un ou plusieurs champs qui permettent d’identifier d’une manière unique les enregistrements, représentent La clé primaire Les tables d’une base de données sont souvent liées

Humblement, Sissa demanda au prince de déposer un grain de riz sur la première case, deux sur la deuxième, quatre sur la troisième, et ainsi de suite pour remplir l’échiquier

THESE DIMENSIONS APPLY TO THE FLAT SECTION OF THE ALLOWABLE MOLD PROTRUSION IS 0.254 MM ON D1 AND E1 DATUMS A, B AND D TO BE DETERMINED AT DATUM PLANE H.. DIMENSIONS D1 AND E1 DO

The XENIX file transfer program, ~, can transfer files between two Altos Computer systems running the XENIX operating system... The sending/receiving port numbers

Si on fait correspondre l’origine à la chaussée de la travée principale, au-dessous du point le moins élevé d’un câble de soutien, on peut représenter la forme du câble par

Description The model provides an empirical estimate of a movement path using discrete location data obtained at relatively short time intervals.. License GNU General Public

Dans le Très Grand Vaisseau, les règles étaient simples.. On n'ouvrait pas les Portes Rouges, et surtout, surtout,

Réponse : La part de tarte mangée par les deux enfants est égale à. (On ne demande pas d'effectuer