programmation orienté objet avec python (cours)

pour prendre en main le concept et le vocabulaire associé, je vous encourage à lire un des cours suivants :

voici un petit résumé du vocabulaire :

classe et attribut 🥴

  • classe : un type d’objet, ici Meuble
  • instance : création d’un objet particulier (de cette classe), ici etagere_A
  • attribut : informations associées à l’objet créé, ici self.hauteur – self.largeur – self.profondeur – self.poids
class Meuble:
    def __init__(self, hauteur, largeur, profondeur, poids):        
        """initialisation des attributs"""
        self.hauteur = hauteur         # en cm
        self.largeur = largeur         # en cm
        self.profondeur = profondeur   # en cm
        self.poids = poids             # en kg

pour créer l’objet etagere_A ou consulter son attribut poids, rien de plus simple :

etagere_A = Meuble(120, 90, 30, 5)
etagere_A.poids ---> la réponse sera 5

méthode d’une classe 👽

  • etagere_A étant créé, on veut l’utiliser
  • on crée une méthode : fonction qui agit sur l’objet
  • elle possède des paramètres (au moins self qui représente l’objet lui-même)
  • nous en avons déjà rencontré sans le savoir : append par ex pour les tableaux …
  • créons un méthode achete qui renvoie True (= oui j’achète) si mon étagère dépace 1m et coûte moins de 30€
    def achete(self, prix):
      if (self.hauteur > 100) and (prix < 30):
        return True
      return False
  • on voit ici que la méthode utilise l’attribut hauteur associé à l’instance etagere_A et une information externe à l’objet, le prix (à fournir lors de l’utilisation)

pour utiliser cette méthode, rien de plus simple :

etagere_A = Meuble(120, 90, 30, 5)
etagere_A.achete(25) ---> la réponse sera True

etagere_B = Meuble(90, 90, 30, 5)
etagere_B.achete(25) ---> la réponse sera False
  • méthode particulière
    • le constructeur : __init__ permet de créer une instance initialisée
    • cette méthode sont pré-définies ; par exe, l’affichage du contenu de l’objet : __str(self)__
    • on peut redéfinir toutes les méthodes, même celles pré-définies
  • encapsulation
    • notation : convention de programmation (pour méthode & attribut)
      • __methode__ : cachée, n’apparaît pas dans la liste
      • _methode_ (ou _attribut) : est utilisé en interne par l’objet lui-même, appartient à l’objet ; on explique au programmeur qu’il n’est pas censé utiliser cet attribut/méthode à l’extérieur de l’objet (mais il peut le faire = danger) ; cette notion d’appartenance à un objet est appelée encapsulation
      • methode (ou attribut) : méthode (ou attribut) normale
  • héritage
    • dans 1 classe, on peut créé 1 sous-classe fille qui hérite des attributs/méthodes de la classe mère
    • en fait, toute classe est au moins 1 sous-classe de la super classe root

philosophie Objet 😻

  • la programmation objet est pilotée par les objets
    • l’interaction avec les objets se fait essentiellement avec les méthodes de la classe
    • les attributs sont anecdotiques, et peuvent être redéfinis en fonction des besoins de la classe

s’entraîner à la POO sur Python 👏

  • concluons par cette vidéo de 4 min (résumé programmation objet en python)
  • vous êtes maintenant prêt pour les exercices et projets (revenir à la page principale) : may the force be with u !

à bientôt, math13net

A propos de math13net 6 Articles
math13net

Soyez le premier à commenter

Poster un Commentaire

Votre adresse de messagerie ne sera pas publiée.


*