Durée : 3h
Inès de Courchelle
Objectifs :
- Créer sa première classe java
- Comprendre la différence entre classe et objet
- Utiliser un Constructeur
- Manipuler les getters et les setters
- Déployer la méthode finalize
- Prendre en main un IDE - ECLIPSE
Attention :
L’ensemble des exercices ci-dessous ne seront pas tous corrigés en classes
IL FAUT ÊTRE SOUS UBUNTU
Exercice 1 : Eclipse
Si vous êtes à l’aise avec un autre IDE, alors pas de problème, MAIS c’est pas mon problème
L’objectif de cet exercice :
- Mettre en place son environnement de travail
- Coder en JAVA de manière plus sereine
- Automatiser la génération de getters/setters et les constructeurs
L’IDE que nous allons utiliser est Eclipse (installer sous vos machines).
Attention plusieurs Eclipses sont installés sur votre machine. Il faut utiliser Eclipse Java.
- Sélectionner Eclipse Java
- Créer un workspace. Il vous suffit de sélectionner un répertoire où tous vos projets java seront enregistrés. Par défaut, il vous propose un répertoire appelé << workspace >>. Un exemple :
Vous pouvez avoir plusieurs workspace différents, il faut juste savoir où on en est !
Vous êtes ici !
Maintenant que Eclipse est bien lancé
- Créer un projet java dans le menu (tout en haut) file > new > java project
- Regarder les versions de Java (utiliser au minimun la version 11).
- Appuyer sur FINISH et ensuite, vous êtes là !
- Créer les classes vides suivantes (sans constructeurs, sans attributs …) :
Pour cela, clic droit sur votre projet dans package explorer. Puis new > class !
Si cela n’appararaît pas, farfouille l’ensemble des menus Eclipse (window > show view > package explorer )
Tu peux fouiller un peu !
- Créer la class contenant la méthode principale
- Rajouter à cette méthode principale la possibilité de demander :
- Le nom de l’utilisateur
- Combien d’objet toto il veut créer ?
- Combien d’objet tata il veut créer ?
Cette méthode principale par la suite permet de créer le nombre d’objet toto et tata demandé par l’utilisateur.
- Pour compiler et exécuter votre projet, appuyer sur le triangle vert en haut !
Pour lire une entrée d’un utilisateur
import java.util.Scanner;
public static void main(String[] args){
/* Instancier un objet de type Scanner */
/* une bonne fois pour toutes */
Scanner sc= new Scanner(System.in);
/* pour une chaine de caractère */
System.out.print("Entrer une chaîne de caractères : ");
String str= sc.nextLine();
System.out.print("L'utilisateur a écrit : "+ str);
/* pour un entier */
System.out.print("Entrer un entier : ");
int a= sc.nextInt();
System.out.print("L'utilisateur a écrit : "+ a);
/* une fois qu'on a terminé d'écouter le scanner */
sc.close();
}
Pour créer n objets toto/tata on peut stocker ces objets dans un tableau*
/* Créer un tableau de MonObjet*/
MonObjet[] tabObjets;
/* Instancier la taille du tableau */
/* ici, elle est de 3 */
tabObjets= new MonObjet[3];
/* On parcours le du tableau */
for (int i=0;i<3;i++) {
/* on instancie un MonObjet à la case i du tableau */
tabObjets[i] = new MonObjet();
}
L’objectif de cet exercice est de comprendre la création d’un objet et la visibilité de ses attributs en dehors de la classe.
Nous considèrons la classe suivante :
- Créer un nouveau projet
- Coder la classe Personne
- Générer 3 constructeurs avec Eclipse
- un constructeur vide
- un constructeur partiel
- un constructeur complet
- Créer la class main
- Créer un objet 1 avec le constructeur vide
- Ajouter une valeur pour un attribut. Ça marche pas pourquoi ?
- Compiler et exécuter le projet
- Créer un deuxième objet avec le constructeur partiel
- Modifier un attribut. Ça marche pas pourquoi ?
- Créer un troisième objet avec le constructeur complet
- Modifier une valeur pour un attribut. Ça marche pas pourquoi ?
- Générer Getters/Setters pour chacun des attributs
- Créer un objet 1 avec le constructeur vide
- Ajouter une valeur pour un attribut.
- Compiler et exécuter le projet
- Créer un deuxième objet avec le constructeur partiel
- Modifier un attribut.
- Créer un troisième objet avec le constructeur complet
- Modifier une valeur pour un attribut.
- Créer un Jar clic droit sur le projet > export > Runnable jar File
- Exécuter le Jar (il faut ouvrir le terminal), et taper la commande
java -jar (chemin/)nomDujar.jar
Attention
Dans votre implémentation de la classe Personne, il doit d’abord y avoir les attributs puis les constructeurs puis les diverses opérations (getters/setters inclus)
Exercice 3 : Un peu de math
L’objectif de cet exercice est d’associer de l’algorithmique avec la programmation orientée objet.
Nous considérons la classe Point suivante :
Attention :
- n’oublier pas le ou les constructeurs
- n’oublier pas les getters + les setters
- Coder la classe Point
- Créer la classe principale
- Instancier les objets points suivants :
- Créer les 3 tableaux suivants :
Point[] rayon1={p1,p2}
Point[] rayon2={p3,p4}
Point[] rayon3={p1,p4}
- Dans la classe Main, calculer le périmetre si chacun de ces rayons appartennaient à un cercle. L’unité du repère orthonormé est 1cm. \[ tailleVecteur = \sqrt{(x_2−x_1)^2+(y_2−y_1)^2} \]
- Coder une opération qui calcul la distance d’un point courant avec un autre Point
public float distanceAvec(Point autrePoint);
- Re-calculer le périmetre dans la classe main, en utilisant la fonction distanceAvec
TIPS
- Vous pouvez regarder la doc ici pour utiliser des méthodes et variables déjà existantes !
- ATTENTION au type de retour et attendu par les méthodes et variables (regarder bien la doc)