public class Enseignant extends PersonnePhysique {
}
public Enseignant (String pNom, String pPrenom) {
this(pNom, pPrenom,null);
}
public Enseignant () {
this(null, null,null);
}
Appel du constructeur de la classe PersonnePhysique
public Enseignant (String pNom, String pPrenom, Adresse pAdrs) {
super(pNom, pPrenom, pAdrs);
}
package tp4.avecheritage;
import tp4.commun.Matiere;
import tp4.commun.Adresse;
import java.util.Arrays;
public class Enseignant extends PersonnePhysique {
public Enseignant(String pNom, String pPrenom) {
this(pNom,pPrenom, null);
}
/**
* Cette méthode est un constructeur.<br> Elle s'exécute automatiquement lors de la création de l'objet.
* Elle a définie par un programmeur pour permettre à un programmeur (vous) d'initialiser les propriétés de
* "l'objet Enseignant" que vous désirez créer.
* @param pNom le nom de la personne que vous désirez créer.
* @param pPrenom une chaîne de caractères contenant le prénom de la personne que vous désirez créer.
* @param pAdresse un "objet adresse" contenant les caractéristiques de l'adresse de la personne que vous désirez créer.
*/
public Enseignant(String pNom, String pPrenom, Adresse pAdrs) {
// Initialisationde tous les attributs
// Attributs "simples"
super(pNom,pPrenom,pAdrs);
// Initialisation du tableau
// Attribut Tableau des matières : taille maximale = 20 matières
matieres = new Matiere[20];
// Attribut compteur de matières
nombreMatieres=0; // Au départ un enseignant a 0 matières.
}
/**
* Constructeur des objets de classe Enseignant
*/
public Enseignant() {
super(); // Exécution du constructeur de la classe Anc^tre (ici PersonnePhysique).
}
public void ajouter(Matiere prmMatiere) {
matieres[nombreMatieres] = prmMatiere;
nombreMatieres++;
}
public boolean enseigneMatiere(String prmLibMat) {
boolean res = false;
int indice =0;
while ((indice <nombreMatieres) && ( ! prmLibMat.equals(matieres[indice].getLibelle()))){
indice++;
}
if (prmLibMat.equals(matieres[indice].getLibelle())){
res=true;
}
return res;
}
/**
* Renvoie un tableau dont la taille est égale au nombre de matières enseignées par la personne.
*/
public Matiere[] getSesMatieres() {
Matiere[] mats;
mats = Arrays.copyOf(matieres,nombreMatieres);
/* Equivalént à
mats=new Matiere[nombreMatieres];
for (int i=0; i<nombreMatieres;i++){
mats[i] = matieres[i];
}
*/
return mats;
}
public int nombreDeMatieres() {
return nombreMatieres;
}
private Matiere[] matieres;
private int nombreMatieres;
public String chaineAffichageEnModeTexte() {
String ch= "" + getNumId()+ " " + getNom() + " " + getPrenom() + " "
+ getAdresse().toString() + " " + getNumTel() + " "
+ getAdresseCourriel() ;
for (int i=0; i< nombreMatieres; i++){
ch = ch+ " "+ matieres[i].getLibelle() ;
}
return ch;
}
}