Création de classe

Lang 05

Résumé du cours

audioRésumé audio généré par IA IA

  • Pour créer une classe en Python on utilise le mot-clé class.
  • La classe est un squelette, donc pour pouvoir faire une référence interne à l’instance, on utilise le mot-clé self.
  • Pour accéder aux attributs, on définit des méthodes appelées mutateurs et accesseurs.
class Article:
    def __init__(self, nom: str, desc: str, prix: float):
        self.nom = nom
        self.description = desc
        self.prix = prix

    def get_nom(self) -> str:
        return self.nom

    def get_description(self) -> str:
        return self.description

    def get_prix(self) -> float:
        return self.prix

    def set_nom(self, nouv: str) -> None:
        self.nom = nouv

    def set_description(self, nouv: str) -> None:
        self.description = nouv

    def set_prix(self, nouv: float) -> None:
        self.prix = round(nouv, 2)

class Utilisateur:
    def __init__(self, ident: str, mdp: str):
        self.identifiant = ident
        self.mot_de_passe = mdp
        self.panier = []

    def verifier_mdp(self, mdp_saisi: str) -> bool:
        return self.mot_de_passe == mdp_saisi

    def get_identifiant(self) -> str:
        return self.identifiant

    def set_identifiant(self, nouveau: str) -> None:
        self.identifiant = nouveau

    def get_mdp(self) -> str:
        return self.mot_de_passe

    def set_mdp(self, nouveau: str) -> bool:
        if len(nouveau) >= 8:
            self.mot_de_passe = nouveau
            return True
        return False

    def acheter(self, article: Article) -> None:
        self.panier.append(article)

    def calculer_prix(self) -> float:
        prix = 0
        for article in self.panier:
            prix = prix + article.get_prix()
        return prix

    def calculer_remise(self) -> float:
        prix = self.calculer_prix()
        remise = 0
        if len(self.panier) >= 3:
            remise = prix * 0.25
        return round(remise, 2)