🐼 Programmation Orientée Objet avec Python

🔗 PDF pour l'accès aux vidéos de la rubrique : POO avec Python

Tous les fichiers utilisés dans les vidéos

Les fichiers utilisés dans toutes ces vidéos sont disponibles dans le dépôt GitHub :
Logo GitHubhttps://github.com/fred-lefevre/poo-avec-python
… Et si nécessaire, une vidéo expliquant comment récupérer du code depuis GitHub

Vidéos

class Rectangle:
    def __init__(self, l, h):
        self.largeur = l
        self.hauteur = h
    
    def se_presenter(self):
        print("Je suis un rectangle")
        print("Ma largeur est", self.largeur)
        print("Ma hauteur est", self.hauteur)
        print("Ma surface est", self.surface())
    
    def surface(self):
        return self.largeur * self.hauteur

r1 = Rectangle(5, 3)
r1.se_presenter()
r2 = Rectangle(2, 6)
r2.se_presenter()
class Rectangle:
    def __init__(self, l, h):
        self.largeur = l
        self.hauteur = h
    
    def __str__(self):
        return "Je suis un rectangle" + "\n" + \
               "Ma largeur est " + str(self.largeur) + "\n" + \
               "Ma hauteur est " + str(self.hauteur) + "\n" + \
               "Ma surface est " + str(self.surface())
    
    def surface(self):
        return self.largeur * self.hauteur

r1 = Rectangle(5, 3)
print(r1)
r2 = Rectangle(2, 6)
print(r2)
class Rectangle:
    def __init__(self, l, h):
        self.largeur = 0
        self.set_largeur(l)
        self.hauteur = 0
        self.set_hauteur(h)
    
    def __str__(self):
        return f"Rectangle de {self.largeur} x {self.hauteur}" + \
                f" de surface {self.surface()}"
    
    def surface(self):
        return self.largeur * self.hauteur
    
    def get_largeur(self):
        return self.largeur
    
    def set_largeur(self, l):
        if l >= 0:
            self.largeur = l

    def get_hauteur(self):
        return self.hauteur
    
    def set_hauteur(self, h):
        if h >= 0:
            self.hauteur = h

r = Rectangle(5, 3)
print(r.get_largeur(), r.get_hauteur(), r.surface())
r.set_hauteur(-30)
print(r)
class Rectangle:
def __init__(self, l, h):
    self.__largeur = 0
    self.set_largeur(l)
    self.__hauteur = 0
    self.set_hauteur(h)

def __str__(self):
    return f"Rectangle de {self.__largeur} x {self.__hauteur}" + \
            f" de surface {self.surface()}"

def surface(self):
    return self.__largeur * self.__hauteur

def get_largeur(self):
    return self.__largeur

def set_largeur(self, l):
    if l >= 0:
        self.__largeur = l

def get_hauteur(self):
    return self.__hauteur

def set_hauteur(self, h):
    if h >= 0:
        self.__hauteur = h

r = Rectangle(5, 3)
r.set_hauteur(-30)
print("Hauteur =", r.get_hauteur())
print(r)
r.set_hauteur(10)
print("Hauteur =", r.get_hauteur())
print(r)
class Rectangle:
    def __init__(self, l, h):
        self.__largeur = 0
        self.largeur = l
        self.__hauteur = 0
        self.hauteur = h
    
    def __str__(self):
        return f"Rectangle de {self.__largeur} x {self.__hauteur}" + \
                f" de surface {self.surface}"
    
    @property
    def surface(self):
        return self.__largeur * self.__hauteur
    
    @property
    def largeur(self):
        return self.__largeur
    
    @largeur.setter
    def largeur(self, l):
        if l >= 0:
            self.__largeur = l

    @property
    def hauteur(self):
        return self.__hauteur
    
    @hauteur.setter
    def hauteur(self, h):
        if h >= 0:
            self.__hauteur = h

r = Rectangle(5, 3)
r.hauteur = -30
print("Hauteur =", r.hauteur)
print(r)
r.hauteur = 10
print("Hauteur =", r.hauteur)
print("Surface =", r.surface)
print(r)    

Références et ressources