Vous êtes sur la page 1sur 6

Atelier 3 : POO et Java - Notions de base

Objectif Général Comprendre et manipuler les notions de base de l'orienté objets avec
Java.
Objectifs spécifiques ➢ Utilisation des packages
➢ Classes et objets
➢ Attributs et méthodes d'instance
➢ Constructeur par défaut
➢ Constructeur paramétré
Volume Horaire 2 séances (6 Heures)

1. Rappel
- Une classe peut être contenu dans un package. Pour déclarer un package, on utilise la syntaxe
suivante : Package Test
- Pour importer un package, on utilise le mot clé import.
- La structure d’une classe est la suivante :

modificateur nom_classe [extends classe_mere] [implements interface]


{
// Insérer ici les champs et les méthodes
}

Avec Modificateur peut être private, public, final, abstract.


- Une classe est constituée des attributs et de méthodes.
- La représentation des attributs se fait comme le suivant :
[< modificateur de visibilité>] <type> <nom_attribut> [=<expression>] ;
- Les attributs peuvent être soit des variables d’instance, variable de classe (statique : à l’aide
du mot clé static) ou bien une constante (à l’aide du mot clé final).
- Les méthodes peuvent être soit un constructeur (méthode appelée lors de la création d’un objet
d’une classe donnée), un destructeur (méthode appelée lors de la destruction d’un objet),
Accesseurs/Mutateur (les getters/setters),…

modificateurs type_retourné nom_méthode ( arg1, ... )


{
// Définition des variables locales et du bloc d'instructions
// Les instructions
}
Atelier 3 : POO et Java – Notions de base

2. Série d’exercices
2.1. Exercice 1 – Classe Livre

1) Définir une classe Livre avec les attributs suivants : Id, Titre, Auteur (Nom et prénom), Prix.
2) Définir un constructeur permettant d’initialiser les attributs d'un objet livre par des valeurs
saisies par l’utilisateur. Sachant que l’Id doit être auto-incrément.
3) Définir les accesseurs des différents attributs de la classe.
4) Définir la méthode toString ( ) permettant d’afficher les informations du livre en cours.
5) Écrire le programme LivreTest permettant de tester la classe Livre.

Exemple d’exécution :

2.2. Exercice 2 – Classe Point

On considère le programme suivant :


// Fichier Point.java
class Point {
// deux attributs de type int
int abscisse;
int ordonnee;
// constructeur
Point(){
abscisse = 0 ;

2
Atelier 3 : POO et Java – Notions de base
ordonnee = 0 ;
}
// méthode permettant de changer les coordonnées d’un point
void setCoordonneePoint( int u , int v ){
abscisse = u ;
ordonnee = v ;
}
// méthode permettant de translater un point
void translate( int u , int v ){
abscisse = abscisse + u ;
ordonnee = ordonnee + v ;
}
}

1. Ajouter à la classe Point la méthode affichePoint, de type de retour void, de sorte que
p.affiche() affiche à l’écran l’abscisse et l’ordonnée de p.

2. Ajouter à la classe Point la méthode origine, de type de retour boolean qui teste si les
coordonnées du point sont nulles.

3. Ajouter une méthode égale telle que p.egale(q) renvoie true si et seulement si les abscisses
et ordonnées des points p et q sont égaux.

4. Ecrire un deuxième constructeur de la classe Point, dont le prototype est Point( int u , int v)
qui permet d’initialiser l’abscisse et l’ordonnée avec u et v.

Ecrire une seconde méthode setCoordonnePoint, prenant en argument un objet de la classe


Point, et qui recopie les attributs de ces arguments.

4. Ajouter à la classe Point une méthode symetrie telle que p.symetrie() renvoie un nouvel objet
Point qui représente le symétrique du point p, dans une symétrie centrale par rapport à l’origine
du repère.

5. On veut numéroter les points au fur et à mesure de leur création. On ajoute donc les variables
suivantes :
static int nombre ;

3
Atelier 3 : POO et Java – Notions de base
int numero ;
où l’attribut numero indique le numero du point et où la variable de classe nombre indique
combien d’objets ont été créés.
6. Mettre à jour les méthodes en permettant ajoutant les 2 variables nombre et numero.
7. Programmer une classe TestPoint permettant de tester créer des points et d’appeler les
différents méthodes développées.s

2.3. Exercice 3 – Classe Personne

On considère une classe décrivant une personne, conformément à la classe suivante :

Les méthodes setNom() et setPrenom() permettent respectivement de fixer les attributs nom
et prenom à des valeurs fournies en paramètre.
La méthode setDateNaiss() permet de fixer les attributs jourNaiss, moisNaiss et anneeNaiss
à des valeurs fournies en paramètre.
La méthode ageEn2019() calcule et renvoie l’âge de la personne par rapport à l’année 2018.
1. Coder cette classe Personne.
2. Implémenter une seconde classe PersonneTest qui va créer 2 instances de la classe
Personne.
Demander à l’utilisateur de saisir les informations de 2 instances.
3. Enrichir la classe PersonneTest pour permettre :
▪ L’affichage des attributs de la première instance de Personne (p1).
▪ L’affichage des attributs de la seconde instance de Personne (p2).
4. On veut maintenant gérer un grand nombre de personnes. Pour cela, on va définir un tableau
du type de la classe Personne de taille 5.
Enrichir le tableau avec des données des différents attributs.

Programmer l'affichage de l'ensemble des données des instances (nom, prénom et âge).

4
Atelier 3 : POO et Java – Notions de base

2.4. Exercice 4 : compte bancaire

Un compte bancaire est caractérisé par son solde ainsi que les opérations de retrait, de dépôt et
de transfert. Ecrire un programme Compte qui contient :
▪ un constructeur contenant l’attribut Solde de type double.
▪ une méthode getsolde( ) qui retourne le solde du compte.
▪ une méthode retirer(…) qui permet de retirer une somme d’argent du compte.
▪ une méthode deposer(…) qui permet de déposer une somme d’argent du compte.
▪ une méthode transferer(…) qui permet de transférer une somme d’argent du compte1
au compte2.

1) Créer la méthode main permettant de créer le compte C1 contenant 500 dinars.

2) Effectuer les opérations bancaires suivantes : Tirer 100 dinars de C1 et déposer 200 dinars.

3) Créer un autre compte nommé C2 initialement vide et faire un transfert d’argent de 300
dinars à partir du compte C1.

4) Afficher le solde de chaque compte après avoir effectué ces opérations.

2.5. Exercice 5

1) Créer une classe nommée Etudiant. Les attributs de cette classe sont : le numéro
d'identification de type int, le prénom de type String, le nom de type String et le niveau de
type int.

2) Ecrire un constructeur pour cette classe. Il devra initialiser tous les champs.

3) Ecrire une méthode qui permet d'afficher sous forme d'une chaîne de caractère les attributs
d'un objet de type Etudiant.

4) Ajouter 5 étudiants et afficher les détails des étudiants de 2ème année (niveau = 2).

2.6. Exercice 6

1) Ecrire un classe "Exercice_tab" qui définit un tableau T possédant des éléments entiers. Cette
classe doit contenir :

▪ un constructeur qui permet d'initialiser la taille du tableau T à 5 éléments


▪ une méthode qui calcule et retourne la somme des éléments du tableau
▪ une méthode qui calcule et affiche la moyenne des éléments du tableau

5
Atelier 3 : POO et Java – Notions de base
▪ une méthode qui affiche le rang et la valeur du plus grand et du plus petit élément du
tableau
▪ une méthode qui affiche les éléments du tableau.

2) Ecrire un classe "Test" décrivant un petit un programme qui permet de tester l’utilisation de
la classe "Exercice_tab". Les éléments du tableau sont saisis par le clavier.

Vous aimerez peut-être aussi