Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente Prochaine révisionLes deux révisions suivantes | ||
enseignement:d14:tp:tp1 [2014/10/04 08:58] – Emmanuel Bruno | enseignement:d14:tp:tp1 [2018/11/06 16:29] – modification externe 127.0.0.1 | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | ====== D14 - TP1 - Premiers pas en Java ====== | ||
- | ===== Objectif ===== | ||
- | Les objectifs de ce premier TP sont la mise en place de l’environnement de | ||
- | travail en java et l’étude des fondements du langage. C’est-à-dire d’une part la | ||
- | compréhension de la compilation et de l’exécution de code java, l’arborescence | ||
- | classique d’une application et la génération de la documentation et d’autre part | ||
- | la maîtrise de la création de classes et d’objets. | ||
- | ===== Une première exécution ===== | ||
- | ==== Mettre en place l’environnement ==== | ||
- | La première chose à faire est de fixer quelle distribution du jdk va être utilisée, | ||
- | pour cela fixer la valeur de la variable d’environnement '' | ||
- | indiquer son emplacement ''/ | ||
- | '' | ||
- | |||
- | Il est impératif que toutes les documentations suivantes soient ouvertes dans | ||
- | votre navigateur web : | ||
- | * la documentation sur les outils Java fournis par Sun : [[http:// | ||
- | * la documentation sur les API : [[http:// | ||
- | |||
- | ==== Compiler et exécuter une application ==== | ||
- | A la racine de votre compte ajouter un répertoire '' | ||
- | appelé répertoire de travail ou workspace). A l’intérieur de votre répertoire de travail ajouter | ||
- | le répertoire '' | ||
- | de projet ajouter les répertoires standards '' | ||
- | |||
- | Dans le répertoire '' | ||
- | '' | ||
- | Java {{: | ||
- | | ||
- | Ouvrir et modifier ce programme pour que l’instruction '' | ||
- | |||
- | A partir de votre répertoire de projet, compiler le programme avec | ||
- | la commande suivante : | ||
- | javac -sourcepath src -d build src/ | ||
- | |||
- | Regarder dans le répertoire '' | ||
- | répertoire de projet : | ||
- | java -classpath build fr.univtln.login.tp.tp1.PremierProgramme Pierre | ||
- | |||
- | ===== Générer la documentation ===== | ||
- | ==== Précision sur la forme ==== | ||
- | La commande javadoc produit de la documentation en partant de commentaires | ||
- | particuliers insérés dans le code source des classes (/** ... */). On peut ainsi | ||
- | documenter les paquetages, classes ou interfaces, variables d’instance, | ||
- | |||
- | Les commentaires peuvent contenir du texte simple et des balises HTML de | ||
- | mise en forme de texte (<I> italique, <B> caractère gras, ... ). On peut utiliser la | ||
- | balise < | ||
- | |||
- | De plus, il est rappelé que le langage Java est entouré d’un ensemble de | ||
- | bonnes pratiques. Cette page présente les habitudes dans le cadre du langage | ||
- | java. Lire cette page : [[http:// | ||
- | |||
- | Ajouter les commentaires pour les packages (cf. '' | ||
- | |||
- | ==== Génération ==== | ||
- | A partir de maintenant, tous vos programmes seront commentés. | ||
- | Générer la documentation depuis votre répertoire de projet avec la commande: | ||
- | | ||
- | ===== Générer et exécuter l’archive jar ===== | ||
- | |||
- | Génerer l’archive de votre projet depuis votre répertoire de projet avec la commande : | ||
- | cd build; jar cvf ../ | ||
- | |||
- | Exécuter le programme en ajoutant le jar au classpath et en indiquant la classe exécutable avec la commande suivante : | ||
- | java -classpath dist/tp.jar fr.univtln.login.tp.tp1.PremierProgramme Pierre | ||
- | |||
- | Il est possible de rendre le jar " | ||
- | qui indique en particulier quelle est la classe exécutable. | ||
- | |||
- | Copier le fichier '' | ||
- | contenu. Recréer le fichier '' | ||
- | cd build; jar cvfm ../ | ||
- | |||
- | Puis exécuter directement l’archive : | ||
- | java -jar dist/tp.jar Pierre | ||
- | |||
- | ===== Automatiser le processus avec Apache Ant (Partie Dépréciée) ===== | ||
- | <del> | ||
- | Comme vous l’avez vu, la compilation d’un projet complet en Java est une tâche | ||
- | fastidieuse. C’est pourquoi, il est conseillé d’utiliser un outil qui automatise ce | ||
- | travail : Ant ([[http:// | ||
- | qui indique les tâches à accomplir, vous trouverez un exemple de ce fichier sur | ||
- | le wiki {{: | ||
- | |||
- | Copier ce fichier dans votre répertoire de projet et regarder son contenu. | ||
- | Adapter son contenu pour qu’il indique des chemins corrects. | ||
- | |||
- | Créer une variable d’environnement '' | ||
- | de ant (''/ | ||
- | | ||
- | Pour obtenir l’ensemble des tâches possibles avec un fichier de construction: | ||
- | ant -projecthelp build.xml | ||
- | |||
- | Pour lancer l’exécution et si nécessaire compiler et générer l’archive : | ||
- | ant run | ||
- | |||
- | </ | ||
- | ===== Utilisation de l’environnement Eclipse (Partie Dépréciée)===== | ||
- | <del> | ||
- | Nous allons maintenant utiliser l’environnement de développement eclipse ([[http:// | ||
- | |||
- | Comme " | ||
- | espace de travail (c’est là que eclipse stocke ses informations de configuration). | ||
- | |||
- | Créer un nouveau projet à partir d’un fichier ant (cf. menu file). | ||
- | Modifier les propriétés du nouveau projet (clic droit sur le projet). Dans | ||
- | "Java compiler" | ||
- | chemins vérifier que les répertoires des sources et des binaires sont corrects. | ||
- | |||
- | Dans les propriétés du paquetage '' | ||
- | la Javadoc. | ||
- | |||
- | Pour lancer une tâche ant, utiliser le menu de droite. | ||
- | Vous pouvez maintenant | ||
- | </ | ||
- | |||
- | ===== Automatiser le processus avec Maven ===== | ||
- | Tout ce processus peut être automatisé avec Maven. Maven sera présenté plus en détail en cours. | ||
- | Nous allons commencer par un utilisation minimale. | ||
- | * Configurer le proxy http : [[maven: | ||
- | * Création d'un projet générique Java : [[maven: | ||
- | ll | ||
- | Mettez en place l' | ||
- | |||
- | ===== Utilisation de l’environnement Intellij Idea ===== | ||
- | Dans le cadre des travaux pratique nous utilisons la version Ultimate d' | ||
- | |||
- | / | ||
- | |||
- | Ouvrez et modifiez l' | ||
- | |||
- | ===== Les concepts de base de Java ===== | ||
- | |||
- | ==== Création et instanciation d’une classe ==== | ||
- | |||
- | Créer une classe Java exécutable nommée '' | ||
- | ' | ||
- | |||
- | Créer une classe '' | ||
- | personne ayant un nom, un prénom, un âge et un salaire. Créer les accesseurs | ||
- | correspondants à ces attributs (eclipse peut le faire automatiquement). | ||
- | Vous vérifierez qu’un salaire ne peut pas être | ||
- | négatif. Instancier une personne '' | ||
- | |||
- | Ajouter des constructeurs dans la classe Personne qui initialisent le nom et le | ||
- | prénom et éventuellement l’âge et la profession. Modifier cette classe pour que | ||
- | le nom et le prénom ne puissent plus être modifiés après l’instanciation. | ||
- | |||
- | Ajouter un attribut qui indique l’année de naissance et les accesseurs associés. Modifier la méthode que retourne l’âge. L’année courante s’obtient avec | ||
- | '' | ||
- | |||
- | Ajouter une méthode '' | ||
- | inférieur à l’instance courante. Créer une deuxième personne '' | ||
- | année que '' | ||
- | salaires de '' | ||
- | |||
- | Ajouter une méthode '' | ||
- | |||
- | Attention '' | ||
- | Personne)'' | ||
- | |||
- | Ajouter un attribut de classe '' | ||
- | personnes et un accesseur. Modifier les méthodes nécessaires pour le salaire | ||
- | total soit maintenu à jour automatiquement. | ||
- | |||
- | Afficher le salaire total après la création de chaque personne. | ||
- | |||
- | ==== Les méthodes de base ==== | ||
- | |||
- | === toString() === | ||
- | Afficher directement l’objet '' | ||
- | '' | ||
- | qui décrit la personne. Exécuter '' | ||
- | |||
- | === equals() === | ||
- | On souhaite considérer que deux personnes sont " | ||
- | que '' | ||
- | |||
- | ==== Définition de classes locales ==== | ||
- | Pour représenter le fait qu’une Personne à un cerveau ajouter une définition de | ||
- | la Classe '' | ||
- | un attribut '' | ||
- | de sa création. Compiler et exécuter '' | ||
- | les classes qui ont été compilées. Essayer de créer une instance de '' | ||
- | directement dans la classe '' | ||
- | |||
- | ===== Pour finir... ===== | ||
- | Vous allez maintenant créer une classe '' | ||
- | des entreprises qui comportent au maximun | ||
- | |||
- | Vous ajouterez les méthodes pour créer une entreprise, ajouter des employés | ||
- | et afficher le nombre d’employés, | ||
- | utilisant le '' | ||
- | |||
- | Les entreprises doivent appartenir à l’une des trois catégories suivantes: | ||
- | '' | ||
- | représenter cela en utilisant un type '' | ||
- | '' | ||
- | |||
- | Ajouter une méthode '' | ||
- | d’une entreprise en majuscule. | ||
- | |||
- | Modifier votre classe '' | ||
- | et le type d’une entreprise, puis la liste des personnes qui la compose. | ||
- | |||
- | java Test maBoite PME Pierre Durand 1950 2000 Paul Dupond 1960 3000 Marie Martin 1975 2500 | ||
- | | ||
- | | ||
- | | ||
- | | ||
- | {{tag> | ||
- | |||
- | ---- dataentry page ---- | ||
- | type : TP | ||
- | enseignement_tags | ||
- | technologie_tags | ||
- | theme_tags | ||
- | ---- | ||
---- struct data ---- | ---- struct data ---- | ||
---- | ---- | ||