Solution à l’exercice des objets modèles

2–4 minutes

read

Voici la solution pour les objets modèle de l’article Objets modèle pour D’étudiante à professionnelle TI : Un Guide – Helene Voyer, autrice. Cette solution objet modèle de l’étude de cas vous aidera à comprendre la démarche. Et bien que vous avez créé les objets modèles sans problème majeur, ces classes ne resteront pas telle quelle pour longtemps.

Voici UNE solution possible de l’exercise de l’article Objets modèle pour D’étudiante à professionnelle TI : Un Guide – Helene Voyer, autrice

Il y a plus d’une façon d’implémenter les objets modèle. Avec de l’expérience vous allez penser à des détails comme est-ce que cet objet doit être abstrait ou statique ? Même chose pour quelle structure de données que vous utiliserez le plus souvent. Ici, j’ai utilisé des tableaux, mais des listes chaînées, des HashMaps, des vecteurs, tous sont possibles et valides aussi.

Solution de L’objet modèle Cours

Cours.java
Java
package ca.editions.helene.voyer.calcul.notes.modele;
public abstract class Cours {
// créer et géré par le processus métier GestionCours
private String codeCours;
private String titreCours;
private Cours[] prerequis;
private int unites;
public Cours(String codeCours, String titreCours, int unites) {
this.codeCours = codeCours;
this.titreCours = titreCours;
this.unites = unites;
}
public String getCodeCours() {
return codeCours;
}
public void setCodeCours(String codeCours) {
this.codeCours = codeCours;
}
public String getTitreCours() {
return titreCours;
}
public void setTitreCours(String titreCours) {
this.titreCours = titreCours;
}
public int getUnites() {
return unites;
}
public void setUnites(int unites) {
this.unites = unites;
}
public Cours[] getPrerequis() {
return prerequis;
}
public void setPrerequis(Cours[] prerequis) {
this.prerequis = prerequis;
}
}

Solution de L’objet modèle CoursPremierCycle

CoursPremierCycle.java
Java
package ca.editions.helene.voyer.calcul.notes.modele;
import java.util.ArrayList;
public class CoursPremierCycle extends Cours {
private ArrayList etudiants = new ArrayList<>();
public CoursPremierCycle(String codeCours, String titreCours, int unites, int nombreDeTravauxPratiques, double ponderationTravauxPratique, double ponderationExamenMiSession, double ponderationExamenFinSession) {
super(codeCours, titreCours, unites, nombreDeTravauxPratiques, ponderationTravauxPratique, ponderationExamenMiSession, ponderationExamenFinSession);
}
public ArrayList getEtudiants() {
return etudiants;
}
public void ajouterEtudiant(Etudiant etudiant) {
etudiants.add(etudiant);
}
}

L’objet modèle eTUDIANT

Etudiant.java
Java
package ca.editions.helene.voyer.calcul.notes.modele;
public abstract class Etudiant {
// le contenu de cette classe est appropriée pour le travail pratique mais pas
// pour notre
// solution logicielle professionnelle
public String nom;
public TravailPratique tp1;
public TravailPratique tp2;
public TravailPratique tp3;
public ExamenMiSession examenMiSession;
public ExamenFinSession examenFinDeSession;
public double notePonderee;
public Etudiant(String nom, TravailPratique tp1, TravailPratique tp2,
TravailPratique tp3, ExamenMiSession examenMiSession, ExamenFinSession examenFinDeSession) {
this.nom = nom;
this.tp1 = tp1;
this.tp2 = tp2;
this.tp3 = tp3;
this.examenMiSession = examenMiSession;
this.examenFinDeSession = examenFinDeSession;
}
public void setNom(String unNom) {
this.nom = unNom;
}
public String getNom() {
return this.nom;
}
public void setTp1(TravailPratique unTp1) {
this.tp1 = unTp1;
}
public TravailPratique getTp1() {
return this.tp1;
}
public void setTp2(TravailPratique unTp2) {
this.tp2 = unTp2;
}
public TravailPratique getTp2() {
return this.tp2;
}
public void setTp3(TravailPratique unTp3) {
this.tp3 = unTp3;
}
public TravailPratique getTp3() {
return this.tp3;
}
public void setExamenMiSession(ExamenMiSession unExamenMiSession) {
this.examenMiSession = unExamenMiSession;
}
public ExamenMiSession getExamenMiSession() {
return this.examenMiSession;
}
public void setExamenFinSession(ExamenFinSession unExamenFinDeSession) {
this.examenFinDeSession = unExamenFinDeSession;
}
public ExamenFinSession getExamenFinSession() {
return this.examenFinDeSession;
}
public double getNotePonderee() {
return this.notePonderee;
}
public void setNotePonderee(double uneNotePonderee) {
this.notePonderee = uneNotePonderee;
}
}

L’objet modèle EtudiantPremierCycle

EtudiantPremierCycle.java
Java
package ca.editions.helene.voyer.calcul.notes.modele;
public class EtudiantPremierCycle extends Etudiant {
public String nom;
// chaque cours n'a pas nécessairement 3 travail pratiques
// comment on peut refactoriser pour permettre un nombre
// variable de travaux pratiques ?
public TravailPratique tp1;
public TravailPratique tp2;
public TravailPratique tp3;
public ExamenMiSession examenMiSession;
public ExamenFinSession examenFinDeSession;
public double notePonderee;
public EtudiantPremierCycle(String nom, TravailPratique tp1, TravailPratique tp2,
TravailPratique tp3, ExamenMiSession examenMiSession, ExamenFinSession examenFinDeSession) {
super(nom, tp1, tp2, tp3, examenMiSession, examenFinDeSession);
this.nom = nom;
this.tp1 = tp1;
this.tp2 = tp2;
this.tp3 = tp3;
this.examenMiSession = examenMiSession;
this.examenFinDeSession = examenFinDeSession;
}
public String getNom() {
return nom;
}
public TravailPratique getTp1() {
return tp1;
}
public TravailPratique getTp2() {
return tp2;
}
public TravailPratique getTp3() {
return tp3;
}
public ExamenMiSession getExamenMiSession() {
return examenMiSession;
}
public ExamenFinSession getExamenFinDeSession() {
return examenFinDeSession;
}
}

Cet article fait partie d’une série consacrée aux exercices du livre D’étudiante à professionnelle TI : Du code académique aux solutions logicielles professionnelles. Restez à l’affût des prochaines parutions.


Discover more from Helene Voyer, autrice

Subscribe to get the latest posts sent to your email.

Laisser un commentaire