Exercice: La base sur l’héritage
L’héritage et les attributs
Correction
class Personne: def __init__(self, nom, prenom, naissance): self._nom = nom self._prenom = prenom self.__naissance = naissance @property def nom(self): return self._nom @property def prenom(self): return self._prenom @property def naissance(self): return self.__naissance class Etudiant(Personne): def __init__(self, nom, prenom, naissance, anneeInscription): super().__init__(nom, prenom, naissance) self._anneeInscription = anneeInscription @property def anneeInscription(self): return self._anneeInscription class Enseignant(Personne): def __init__(self, nom, prenom, naissance, salaire): super().__init__(nom, prenom, naissance) self._salaire = salaire @property def salaire(self): return self._salaire
L’héritage et les liens
Correction
class Personne: def __init__(self, nom, prenom, naissance): self._nom = nom self._prenom = prenom self.__naissance = naissance self.__cours = [] @property def nom(self): return self._nom @property def prenom(self): return self._prenom @property def naissance(self): return self.__naissance def ajouterCours(self, cours): self.__cours.append(cours) class Etudiant(Personne): def __init__(self, nom, prenom, naissance, anneeInscription): super().__init__(nom, prenom, naissance) self._anneeInscription = anneeInscription self.__clubs = [] @property def anneeInscription(self): return self._anneeInscription @property def coursSuivi(self): return self.__cours def ajouterClub(self, club): self.__clubs.append(club) class Enseignant(Personne): def __init__(self, nom, prenom, naissance, salaire): super().__init__(nom, prenom, naissance) self._salaire = salaire @property def salaire(self): return self._salaire @property def coursDonné(self): return self.__cours class Cours: def __init__(self, nom, nb_heures, local): self._nom = nom self._nb_heures = nb_heures self._local = local @property def nom(self): return self._nom @property def nb_heures(self): return self._nb_heures @property def local(self): return self._local class Club: def __init__(self, nom): self._nom = nom @property def nom(self): return self._nom