0% ont trouvé ce document utile (0 vote)
42 vues4 pages

td2 Solutionpoo

Ce document présente deux exercices sur la programmation orientée objet en Java. Le premier exercice demande de créer une classe Etudiant dérivée de la classe Personne avec des attributs et méthodes supplémentaires. Le deuxième exercice demande de créer une hiérarchie de classes à partir d'une classe abstraite Personne avec les sous-classes Etudiant, Enseignant et Administrateur.

Transféré par

djaafarnedjla7
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)
42 vues4 pages

td2 Solutionpoo

Ce document présente deux exercices sur la programmation orientée objet en Java. Le premier exercice demande de créer une classe Etudiant dérivée de la classe Personne avec des attributs et méthodes supplémentaires. Le deuxième exercice demande de créer une hiérarchie de classes à partir d'une classe abstraite Personne avec les sous-classes Etudiant, Enseignant et Administrateur.

Transféré par

djaafarnedjla7
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

2ière année Licence Informatique 2021/2022

Département d’Informatique
Université Batna-2

Solution TD2
Programmation Orirntée Objet

Exercice 1

Soit la classe Personne suivante :

class Personne
{
private String nom , prenom ;
private int age;

public Personne( String nom , String prenom, int age)


{
[Link] =nom;
[Link] = prenom;
[Link] = age;
}

public void informations()


{
[Link] ("Je suis : " + nom + " " + prenom );
[Link] ("Age de : " + age );

}
}

1. Réaliser une classe Etudiant, dérivée de Personne permettant de manipuler des personnes définis
par leurs nom , prénom, age et une spécialité. La classe Etudiant fait étendre la classe Personne en
ajoutant les méthodes suivantes :

A. Un constructeur Etudiant() pour définir les informations et la spécialité d’un objet de type
Etudiant.
B. Une méthode informationsEtudiant() pour afficher les informations et la spécialité d’un
objet de type Etudiant.

2. Écrire une classe Application utilisant la classe Etudiant permettant d’instancier un étudiant,
puis afficher les attributs de l’étudiant.

Solution :

class Personne
{
private String nom , prenom ;
private int age;

public Personne( String nom , String prenom, int age)


{
[Link] =nom;
[Link] = prenom;
[Link] = age;
}

public void informations()


{

Mars 2022
[Link] ("Je suis : " + nom + " " + prenom );
[Link] ("Age de : " + age );

}
}

class Etudiant extends Personne


{
private String specialite;

public Etudiant(String nom , String prenom, int age, String specialite)


{
super(nom,prenom,age); //Appel du constructeur de la super-classe Personne
[Link] = specialite;
}

public void informationsEtudiant()


{
[Link]();
[Link] ("Spécialité est : " + specialite );
}

public class Exo1 {

public static void main(String[] args) {


// TODO Auto-generated method stub

Etudiant e = new Etudiant("Said","BenYoucef",20,"Informatique");


[Link]();
}

Exercice 2

Soit la classe suivante :

abstract class Personne


{
private String nom;
private String prenom;
public Personne(String nom,String prenom)
{
………………………………………………………
………………………………………………………
}
public String getNom()
{
………………………………………………………

}
public String getPrenom()
{
………………………………………………………
}

abstract public String getInformationAdditionnel();


abstract public void afficherInformations();
}

1. Continuer le code manquant dans la classe Personne.

Mars 2022
2. Suivant le schéma qui montre la relation d’héritage entre Personne
les 4 classes, donner le code optimal des classes
Etudiant, Enseignant, Administrateur tel que :
A. La classe Etudiant possède un attribut spécialité,
un constructeur et les méthodes manquantes. Etudiant Enseignant
B. La classe Enseignant possède un attribut matière,
un constructeur et les méthodes manquantes.
C. La classe Administrateur possède un attribut
poste, un constructeur et les méthodes manquantes. Administrateur

3. Ecrire une classe Application qui permet de créer 3 objets différents dans un seul tableau, puis
afficher les informations de chaque objet.

Solution :

abstract class Personne


{
private String nom;
private String prenom;
public Personne(String nom,String prenom)
{
[Link] = nom;
[Link] = prenom;
}
public String getNom()
{
return nom;

}
public String getPrenom()
{
return prenom;
}

abstract public String getInformationAdditionnel();


abstract public void afficherInformations();
}

class Etudiant extends Personne


{
private String specialite;

public Etudiant(String nom,String prenom, String specialite)


{
super(nom,prenom);
[Link] = specialite;
}

public String getInformationAdditionnel()


{
return specialite;
}

public void afficherInformations()


{
[Link]("Nom : "+[Link]()+", Prenom : "+[Link]()+",
Specialite : "+specialite);
}
}

class Enseignant extends Personne


{
private String matiere;

Mars 2022
public Enseignant(String nom,String prenom, String matiere)
{
super(nom,prenom);
[Link] = matiere;
}

public String getInformationAdditionnel()


{
return matiere;
}

public void afficherInformations()


{
[Link]("Nom : "+[Link]()+", Prenom : "+[Link]()+",
Specialite : "+matiere);
}
}

class Administrateur extends Enseignant


{
private String poste;

public Administrateur(String nom,String prenom, String matiere, String poste)


{
super(nom,prenom,matiere);
[Link] = poste;

public String getInformationAdditionnel()


{
return poste;
}

public void afficherInformations()


{
[Link]();
[Link]("Poste : "+poste);
}
}

public class Exo2


{
public static void main(String[] args)
{
Personne[] personne = new Personne[3];
personne[0] = new Etudiant("Amine","Bouraoui","INFO");
personne[1] = new Enseignant("Ilyes","Saoudi","Math");
personne[2] = new Administrateur("Ferhat","Chenoufi","Réseaux","Responsable
de Formation");
personne[0].afficherInformations();
personne[1].afficherInformations();
personne[2].afficherInformations();
}

Mars 2022

Vous aimerez peut-être aussi