0% ont trouvé ce document utile (0 vote)
2 vues3 pages

TP4 Java

Le document présente un TP sur l'analyse et la programmation pour un BTS en développement web full stack. Il comprend plusieurs exercices portant sur la création de classes en Java, l'héritage, et la manipulation d'objets, notamment des classes pour gérer des visiteurs, des points, des employés, et une bibliothèque. Chaque exercice demande la mise en œuvre de méthodes spécifiques et de programmes de test pour valider les concepts enseignés.

Transféré par

sakhir971
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
2 vues3 pages

TP4 Java

Le document présente un TP sur l'analyse et la programmation pour un BTS en développement web full stack. Il comprend plusieurs exercices portant sur la création de classes en Java, l'héritage, et la manipulation d'objets, notamment des classes pour gérer des visiteurs, des points, des employés, et une bibliothèque. Chaque exercice demande la mise en œuvre de méthodes spécifiques et de programmes de test pour valider les concepts enseignés.

Transféré par

sakhir971
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Brevet de technicien supérieur Essaouira Matière : Analyse & Programmation

Filière : Développement web full stack 2 Enseignante : F. BENDAIDA


Année 2025-2026

TP N° 4: Membres statiques & Héritage

Exercice 1 :

Créer une classe NbrVisiteur qui attribue un numéro unique à chaque nouvel objet créé :

• Le premier objet aura le numéro 1, le second 2, et ainsi de suite. Les numéros ne seront pas
réutilisés même si un objet est supprimé.

• La classe doit avoir :

1. Un constructeur qui attribue le numéro unique à l'objet.

2. Une méthode getIdent() qui retourne le numéro de l'objet.

3. Une méthode getIdentMax() qui retourne le numéro du dernier objet créé.

Écrire ensuite un programme pour tester cette classe.

Exercice 2 :

Écrire une méthode statique dans une classe utilitaire nommée Util qui calcule la valeur de la
fonction d’Ackermann, définie pour m≥0 et n≥0 comme suit :

• A(m,n)=A(m−1,A(m,n−1)) pour m>0 et n>0,

• A(0,n)=n+1 pour n≥0,

• A(m,0)=A(m−1,1) pour m>0.

La méthode devra :

1. Être nommée ackermann.

2. Prendre deux paramètres entiers m et n.

3. Retourner un entier correspondant à la valeur calculée de la fonction d’Ackermann.

Ensuite, écrire un programme principal pour tester cette méthode en affichant plusieurs résultats de
la fonction A(m,n) avec des valeurs de m et n raisonnables.

Exercice 3 :

Soit la classe Point ainsi définie :

class Point{

public Point (int abs, int ord) { x = abs ; y = ord ; }

public void affiche (){

[Link] ("Coordonnees " + x + " " + y) ;

private int x ; // abscisse


private int y ; // ordonnee

Ajoutez une méthode maxNorme permettant de déterminer, parmi deux points, celui qui est le plus
éloigné de l’origine (c'est-à-dire celui dont la norme √𝑥 2 + 𝑦² est la plus grande).

On fournira deux implémentations de cette méthode :

1. Méthode statique : maxNorme sera une méthode statique de la classe Point prenant deux
objets Point en paramètres.

2. Méthode usuelle : maxNorme sera une méthode d’instance (non statique), appliquée sur un
objet Point, prenant un autre point comme paramètre.

Ensuite, écrivez un programme pour tester les deux versions de la méthode maxNorme.

Exercice 4 :

On dispose de la classe suivante (disposant cette fois d’un constructeur) :

class Point {

public Point (int x, int y) {

this.x = x ; this.y = y ; }

public void affCoord() { [Link] ("Coordonnees : " + x + " " + y) ;

private int x, y ;

Réaliser une classe PointNom, dérivée de Point permettant de manipuler des points définis par leurs
coordonnées (entières) et un nom (caractère). On y prévoira les méthodes suivantes :

• Constructeur pour définir les coordonnées et le nom d’un objet de type PointNom,

• toString() pour afficher les coordonnées et le nom d’un objet de type PointNom.

Écrire un petit programme utilisant la classe PointNom.

Exercice 5 :

Créez une hiérarchie pour représenter des employés dans une entreprise.

1. Définissez une classe de base Employee avec :

o Attributs : name (nom), salary (salaire de base).

o Méthode : calculateSalary() qui retourne le salaire de l'employé.

2. Créez une classe Manager qui hérite de Employee et ajoute :

o Attribut : bonus (prime).


o Redéfinissez calculateSalary() pour inclure le bonus dans le calcul.

3. Créez une classe Intern (stagiaire) qui hérite de Employee et redéfinit calculateSalary() pour
diviser le salaire par 2.

4. Dans le programme principal :

Créez un tableau d’objets Employee contenant des employés, des managers et des stagiaires.

Parcourez le tableau et affichez le salaire calculé pour chaque employé.

Exercice 6 :

Simulez un système de bibliothèque.

1. Créez une classe Book avec :

o Attributs : title, author, year.

2. Créez une classe Library qui contient une collection de Book (par exemple, un tableau ou une
liste).

o Ajoutez des méthodes pour :

▪ Ajouter un livre.

▪ Supprimer un livre.

▪ Lister tous les livres d’un auteur donné.

3. Créez une sous-classe DigitalLibrary de Library qui ajoute :

o Une méthode pour télécharger un livre (affiche un message comme "Téléchargement


en cours...").

4. Testez les classes en créant une bibliothèque et en y ajoutant des livres.

Vous aimerez peut-être aussi