M3203P – P.O.O. Concepts d`objet TP N°4

M3203P – P.O.O.
Concepts d’objet
TP N°4 Interfaces
OBJECTIFS :
-
Construire des classes mettant en œuvre les concepts d’interface, d’héritage et
d’encapsulation.
TRAVAIL DEMANDE
•
•
•
I.
Classe
Téléchargez le fichier tp4.php sur le site de M. Landré
Codez en PHP les classes suivantes en les regroupant dans un fichier nommé
individu.class.php
Testez votre code grâce au fichier tp4.php
Individu
et interface
iHumain
La classe Individu est une classe abstraite qui implémente l’interface iHumain qui définit les méthodes
• travailler($nombreheures)
• reposer($nombrejours)
• sePresente()
Les attributs
Les 5 attributs privés de la classe Individu sont :
• $nom : valeur alphanumérique
• $prenom : valeur alphanumérique
• $sexe : valeur alphanumérique (homme ou femme)
• $revenu : revenu en euros, valeur numérique calculée valant 0 par défaut
• $conges : nombre de congés, valeur numérique calculée valant 0 par défaut
Les méthodes
•
•
•
•
•
•
La méthode travailler($nombreheures) permet de calculer le revenu cumulé d’un individu sur la
base horaire de 9.5 euros. A chaque appel de cette méthode, on cumulera le salaire calculé au
salaire précédent.
La méthode reposer($nombrejours) permet de cumuler le nombre de jours de congés pris. (A
chaque appel de la méthode, on cumule les congés)
La méthode sePresente() retourne un texte avec le nom et le prénom de l’individu
La méthode RAZrevenu() permettra de remettre à zéro le revenu.
La méthode RAZconges() permettra de remettre à zéro le nombre de jours de congés
La méthode declareSalaire() retournera un texte indiquant le nom, le prénom et le revenu de
l’individus
Codez cette classe
IUT de Troyes - MMI
1/2
M3203P – P.O.O.
Concepts d’objet
II.
Classe
Etudiant
La classe Etudiant est une classe qui hérite de la classe Individu
Les attributs
Les attributs privés de la classe Etudiant sont :
• $numetudiant : 10 chiffres et une lettre
• $age valeur numérique
• $formation : valeur alphanumérique
• $resultat : valeur alphanumérique calculée lors de l’évaluation (méthode évaluer) qui prendra deux
valeurs possibles ‘reçu(e)’ ou ‘ajourné(e)’
Cette classe possède également un attribut propre à la classe $nbetudiants qui permettra de connaître le
nombre d’instances créées.
Les méthodes
•
•
•
La méthode travailler($nombreheures) permet de calculer le revenu cumulé d’un(e) étudiant(e) sur
la base horaire de 9.5 euros. Mais ce tarif horaire sera minoré de 20% si l’étudiant(e) est âgé(e) de
moins de 18 ans. A chaque appel de cette méthode, on cumulera le salaire calculé au salaire
précédent.
La méthode evaluer($noteExamen) retournera un texte précisant le nom, le prénom et l’indication
reçu(e) ou ajourné(e) à l’examen selon la note. Pour être reçu, il faut avoir la moyenne.
D’autres méthodes sont à créer : observez le code du fichier tp4.php pour les repérer.
Codez cette classe
III.
Classe
Etudiant_MMI
La classe Etudiant_MMI hérite de la classe Etudiant. Il n’est pas possible d’hériter de la classe
Etudiant_MMI.
Les attributs
Un attribut privé : $option. Valeur alphanumérique indiquant le titre de l’option choisie par un(e)
étudiant(e) au semestre 4
Les méthodes
•
•
•
La méthode quelleOption() retourne un texte indiquant le nom, le prénom et l’option choisie
La méthode ChangerOption($option) permet de modifier l’option de l’étudiant
La méthode sePresente reprend la méthode initiale et complète le texte par ‘ et je suis en MMI’.
Codez cette classe
IUT de Troyes - MMI
2/2