Existence globale pour des systèmes de réaction-diffusion ...
Au programme du jour …. Ce que vous navez pas encore vu Constantes et variables de classe Main et...
-
Upload
mathis-andrieux -
Category
Documents
-
view
109 -
download
3
Transcript of Au programme du jour …. Ce que vous navez pas encore vu Constantes et variables de classe Main et...
![Page 1: Au programme du jour …. Ce que vous navez pas encore vu Constantes et variables de classe Main et Tests Utilisation de lAPI Existence des packages Existence.](https://reader036.fdocuments.fr/reader036/viewer/2022062621/551d9d81497959293b8bb29c/html5/thumbnails/1.jpg)
Au programme du jour …. Ce que vous n’avez pas encore vu
Constantes et variables de classe Main et Tests
Utilisation de l’API Existence des packages Existence d’une Javadoc
Comment écrire la Javadoc ? Comment faire des packages
CONCLUSION : Livraison de code Organisation des répertoires et packages
![Page 2: Au programme du jour …. Ce que vous navez pas encore vu Constantes et variables de classe Main et Tests Utilisation de lAPI Existence des packages Existence.](https://reader036.fdocuments.fr/reader036/viewer/2022062621/551d9d81497959293b8bb29c/html5/thumbnails/2.jpg)
Ce que vous n’avez pas encore vuConstantes et variables de classe
Main et Tests
![Page 3: Au programme du jour …. Ce que vous navez pas encore vu Constantes et variables de classe Main et Tests Utilisation de lAPI Existence des packages Existence.](https://reader036.fdocuments.fr/reader036/viewer/2022062621/551d9d81497959293b8bb29c/html5/thumbnails/3.jpg)
Un nouveau mot clé : static Information attachée à la classe et non à
une instance Constantes
private static final int GRAVITY = 3; public static final VAL_MAX=10;
Variables et méthodes de classes Compteur : nombre d’instances
Exemple du compte bancaire
CAS PARTICULIER : une méthode main Pour une classe de Test
![Page 4: Au programme du jour …. Ce que vous navez pas encore vu Constantes et variables de classe Main et Tests Utilisation de lAPI Existence des packages Existence.](https://reader036.fdocuments.fr/reader036/viewer/2022062621/551d9d81497959293b8bb29c/html5/thumbnails/4.jpg)
Un Main pour les Tests
Exemple : Pour tester la classe ClasseATesterEcrire le contenu du main dans une classe TestDEClasseAtester (condition réelle de l’usage) de sorte
qu’il y ait:
Création d’instances de cette classe : (Tests des constructeurs)Affichage des instances créées (Tests des constructeurs et de la méthode toString)Appels des méthodes en faisant varier la valeur des paramètres sur ces instances (Test des méthodes publiques)Affichage des retours des méthodes pour voir les tests
![Page 5: Au programme du jour …. Ce que vous navez pas encore vu Constantes et variables de classe Main et Tests Utilisation de lAPI Existence des packages Existence.](https://reader036.fdocuments.fr/reader036/viewer/2022062621/551d9d81497959293b8bb29c/html5/thumbnails/5.jpg)
Les commandespublic static void main(String[] args)
javac ClasseAtester.java -> erreurs ou création du fichier ClasseAtester.class
javac TestDEClasseAtester.java -> erreurs ou création du fichier TestDeClasseAtester.class
java TestDeClasseAtester -> erreurs et/ou exécution du code
ATTENTION A L’ORDRE DE COMPILATION
![Page 6: Au programme du jour …. Ce que vous navez pas encore vu Constantes et variables de classe Main et Tests Utilisation de lAPI Existence des packages Existence.](https://reader036.fdocuments.fr/reader036/viewer/2022062621/551d9d81497959293b8bb29c/html5/thumbnails/6.jpg)
Utilisation de l’API Existence des packages
Existence d’une Javadoc
![Page 7: Au programme du jour …. Ce que vous navez pas encore vu Constantes et variables de classe Main et Tests Utilisation de lAPI Existence des packages Existence.](https://reader036.fdocuments.fr/reader036/viewer/2022062621/551d9d81497959293b8bb29c/html5/thumbnails/7.jpg)
API Java : à quoi ça vous sert ?http://java.sun.com/j2se/1.5/docs/api/ :
Javadoc de l'API 1.5.
Rechercher des informations
et
Comprendre un code existant
![Page 8: Au programme du jour …. Ce que vous navez pas encore vu Constantes et variables de classe Main et Tests Utilisation de lAPI Existence des packages Existence.](https://reader036.fdocuments.fr/reader036/viewer/2022062621/551d9d81497959293b8bb29c/html5/thumbnails/8.jpg)
API Java : Rechercher des informations sur les types de données que l’on
manipule ou que l’on souhaite manipuler ? ArrayList :
Peut on ajouter un élément à une position donnée ? Peut on enlever à une position donnée ? Qu’existe-t-il comme autre type de données du
même style ? Comment construit on une ArrayList ? Avec un
tableau est ce possible ?
![Page 9: Au programme du jour …. Ce que vous navez pas encore vu Constantes et variables de classe Main et Tests Utilisation de lAPI Existence des packages Existence.](https://reader036.fdocuments.fr/reader036/viewer/2022062621/551d9d81497959293b8bb29c/html5/thumbnails/9.jpg)
API Java : Comprendre un code existantString input = reader.getInput();if(input.startsWith("bye")) {
finished = true;}
Que fait startsWith("bye") ?Comment peut on trouver l’information ?Que fait getInput()?Comment peut on trouver l’information ?
![Page 10: Au programme du jour …. Ce que vous navez pas encore vu Constantes et variables de classe Main et Tests Utilisation de lAPI Existence des packages Existence.](https://reader036.fdocuments.fr/reader036/viewer/2022062621/551d9d81497959293b8bb29c/html5/thumbnails/10.jpg)
Comment chercher dans l’API ? Organisation par packages
Quels sont les packages que vous connaissez ? java.util java.lang
Où pouvez vous trouver la classe String ? La classe ArrayList ?
Quels sont les packages qui pourront vous servir ?
![Page 11: Au programme du jour …. Ce que vous navez pas encore vu Constantes et variables de classe Main et Tests Utilisation de lAPI Existence des packages Existence.](https://reader036.fdocuments.fr/reader036/viewer/2022062621/551d9d81497959293b8bb29c/html5/thumbnails/11.jpg)
Pourquoi trouve-t-on l’information ? Parce que les classes sont documentées Documentation standardisée avec
génération dans un format HTML Documentation accessible par un browser
web On documente : l’API des classes
Interface des classes : ensemble des méthodes et variables publiques
Public vs private : accessible ou non à l’extérieur de la classe
![Page 12: Au programme du jour …. Ce que vous navez pas encore vu Constantes et variables de classe Main et Tests Utilisation de lAPI Existence des packages Existence.](https://reader036.fdocuments.fr/reader036/viewer/2022062621/551d9d81497959293b8bb29c/html5/thumbnails/12.jpg)
Documenter quoi ? Interface vs implémentation
L’implémentation reste cachée La documentation inclut :
Le nom de la classe Une description textuelle générale de la classe La liste des constructeurs et des méthodes publiques :
les signatures Valeurs de retours et paramêtres Description textuelle (pré_conditions, post conditions,
objectifs…)
L’ interface de la classe UTILE pour son usage
![Page 13: Au programme du jour …. Ce que vous navez pas encore vu Constantes et variables de classe Main et Tests Utilisation de lAPI Existence des packages Existence.](https://reader036.fdocuments.fr/reader036/viewer/2022062621/551d9d81497959293b8bb29c/html5/thumbnails/13.jpg)
Ce qui ne concerne pas l’usage La partie Implémentation :
Les variables d’instances (statut private) Les méthodes internes à la classes (statut private) Le corps de chaque méthode et constructeurs (code
source)
Implémentation de la classeElle concerne les développeurs
Autre documentation : conception UML, etc
![Page 14: Au programme du jour …. Ce que vous navez pas encore vu Constantes et variables de classe Main et Tests Utilisation de lAPI Existence des packages Existence.](https://reader036.fdocuments.fr/reader036/viewer/2022062621/551d9d81497959293b8bb29c/html5/thumbnails/14.jpg)
Comment écrire la Javadoc ?
![Page 15: Au programme du jour …. Ce que vous navez pas encore vu Constantes et variables de classe Main et Tests Utilisation de lAPI Existence des packages Existence.](https://reader036.fdocuments.fr/reader036/viewer/2022062621/551d9d81497959293b8bb29c/html5/thumbnails/15.jpg)
Usage de votre code Votre code est destiné à être utilisé VOUS DEVEZ Documenter votre code 2 documentations :
à destination des usagers de la classe : ils ne doivent pas connaître l’implémentation.
Livraison des .class Et Documentation de l’interface de la classe : javadoc
à destination des développeurs qui doivent faire évoluer votre code: ils doivent connaître l’implémentation.
Livraison des .java Et Documentation de l’implémentation de la classe : UML,
cahier des charges, spécifications détaillées, commentaires dans le code
![Page 16: Au programme du jour …. Ce que vous navez pas encore vu Constantes et variables de classe Main et Tests Utilisation de lAPI Existence des packages Existence.](https://reader036.fdocuments.fr/reader036/viewer/2022062621/551d9d81497959293b8bb29c/html5/thumbnails/16.jpg)
Javadoc et classe POUR UNE CLASSE
Class comment: /** * The Responder class represents a response * generator object. It is used to generate an * automatic response. * * @author Michael Kölling and David J. Barnes * @version 1.0 (1.Feb.2002) */
![Page 17: Au programme du jour …. Ce que vous navez pas encore vu Constantes et variables de classe Main et Tests Utilisation de lAPI Existence des packages Existence.](https://reader036.fdocuments.fr/reader036/viewer/2022062621/551d9d81497959293b8bb29c/html5/thumbnails/17.jpg)
JAVADOC et méthode
Commentaire pour une méthode /** * Read a line of text from standard input (the text * terminal), and return it as a set of words. * * @param prompt A prompt to print to screen. * @return A set of Strings, where each String is * one of the words typed by the user */ public HashSet getInput(String prompt) { ... }
![Page 18: Au programme du jour …. Ce que vous navez pas encore vu Constantes et variables de classe Main et Tests Utilisation de lAPI Existence des packages Existence.](https://reader036.fdocuments.fr/reader036/viewer/2022062621/551d9d81497959293b8bb29c/html5/thumbnails/18.jpg)
Comment générer la javadoc : page HTML javadoc ClasseATester.java
OPTION -help Donne en ligne les différentes options
Génération du fichier ClasseATester.html
pour en savoir plus http://java.sun.com/j2se/javadoc/
writingdoccomments/
![Page 19: Au programme du jour …. Ce que vous navez pas encore vu Constantes et variables de classe Main et Tests Utilisation de lAPI Existence des packages Existence.](https://reader036.fdocuments.fr/reader036/viewer/2022062621/551d9d81497959293b8bb29c/html5/thumbnails/19.jpg)
Comment faire et utiliser des packages?
![Page 20: Au programme du jour …. Ce que vous navez pas encore vu Constantes et variables de classe Main et Tests Utilisation de lAPI Existence des packages Existence.](https://reader036.fdocuments.fr/reader036/viewer/2022062621/551d9d81497959293b8bb29c/html5/thumbnails/20.jpg)
Comment travaille-t-on avec des packages ?
Les classes d’un package (bibliothèque de classes) doivent être importées (comme des livres que l’on emprunte…) Utilisation de la clause import
Pour importer une seule classe : import java.util.ArrayList; Pour importer toutes les classes d’un package : import java.util.*;
Importation inutile pour les classes de java.lang (tout le monde a ces livres ).
Une fois importées les classes ont toutes la même visibilité En cas de conflit, mettre le nom complet de la classe
java.util.ArrayList Ex : la classe MaClasse existe dans 2 packages :
monnompackage et autrenompackage On peut les distinguer à l’aide des noms complets :
monnompackage.MaClasse ou autrenompackage.MaClasse
![Page 21: Au programme du jour …. Ce que vous navez pas encore vu Constantes et variables de classe Main et Tests Utilisation de lAPI Existence des packages Existence.](https://reader036.fdocuments.fr/reader036/viewer/2022062621/551d9d81497959293b8bb29c/html5/thumbnails/21.jpg)
Packaging de votre code Implication dans chaque classe de cette
bibliothèque package nompackage;
Instruction à ajouter au début des classes appartenant au package
Implication sur l’organisation des fichiers Mettre les classes compilées sous un répertoire de nom
nompackage Compiler (placé au dessus du répertoire de nom
nompackage) javac nompackage/ClassePackagée.Java
Exécuter (placé au dessus du répertoire de nom nompackage)
java nompackage.ClassePackagee
![Page 22: Au programme du jour …. Ce que vous navez pas encore vu Constantes et variables de classe Main et Tests Utilisation de lAPI Existence des packages Existence.](https://reader036.fdocuments.fr/reader036/viewer/2022062621/551d9d81497959293b8bb29c/html5/thumbnails/22.jpg)
Packaging de votre code et compilation
ATTENTION
A LA COMPILATION D’UNE CLASSE
Les classes utilisées doivent être déjà compilées et visibles
ORDRE de Compilation important
VISIBILITE importante
Désignation des répertoires où sont stockés les classes possibles
VARIABLE D’ENVIRONNEMENT : CLASSPATHOPTION DE COMPILATION ET D’EXECUTION : -cpAUTRE OPTION PRATIQUE -d
![Page 23: Au programme du jour …. Ce que vous navez pas encore vu Constantes et variables de classe Main et Tests Utilisation de lAPI Existence des packages Existence.](https://reader036.fdocuments.fr/reader036/viewer/2022062621/551d9d81497959293b8bb29c/html5/thumbnails/23.jpg)
Packaging de votre code Pour une meilleure livraison
Pour regrouper les classes utilisées dans le même contexte