La programmation orientée objet (POO), ou programmation par objet, est un paradigme de programmation
informatique.
En POO, on décrit les propiétés d'un objet.
Classe & instance
Les classes sont les modèles générique qui permettent de définir les
propriétés
de chaque objet issue d’une même classe.
Un objet est une instance d’une classe.
attributs & méthodes
Un objet est composé d’attributs et de méthodes :
class Sorcier:
pass
class Sorcier:
pass
sorcier1 = Sorcier()
class Sorcier:
pass
sorcier1 = Sorcier()
sorcier2 = Sorcier()
class Sorcier:
pass
__init__
class Sorcier:
def __init__(self):
class Sorcier:
def __init__(self):
self.prenom = "Harry"
class Sorcier:
def __init__(self):
self.prenom = "Harry"
self.nom = "Potter"
class Sorcier:
def __init__(self):
self.prenom = "Harry"
self.nom = "Potter"
self.maison = "Griffondor"
class Sorcier:
def __init__(self):
self.prenom = "Harry"
self.nom = "Potter"
self.maison = "Griffondor"
self.age = 11
class Sorcier:
def __init__(self):
self.prenom = "Harry"
self.nom = "Potter"
self.maison = "Griffondor"
self.age = 11
self.sorts = []
class Sorcier:
def __init__(self):
self.prenom = "Harry"
self.nom = "Potter"
self.maison = "Griffondor"
self.age = 11
self.sorts = []
sorcier1 = Sorcier()
sorcier2 = Sorcier()
class Sorcier:
def __init__(self):
self.prenom = "Harry"
self.nom = "Potter"
self.maison = "Griffondor"
self.age = 11
self.sorts = []
sorcier1 = Sorcier()
sorcier2 = Sorcier()
print(sorcier1.prenom)
print(sorcier2.prenom)
class Sorcier:
def __init__(self,prenom, nom, maison, age):
self.prenom = prenom
self.nom = nom
self.maison = maison
self.age = age
self.sorts = []
class Sorcier:
def __init__(self,prenom, nom, maison, age):
self.prenom = prenom
self.nom = nom
self.maison = maison
self.age = age
self.sorts = []
harry = Sorcier("Harry","Potter","Griffondor",11)
class Sorcier:
def __init__(self,prenom, nom, maison, age):
self.prenom = prenom
self.nom = nom
self.maison = maison
self.age = age
self.sorts = []
class Sorcier:
def __init__(self,prenom, nom, maison, age):
self.prenom = prenom
self.nom = nom
self.maison = maison
self.age = age
self.sorts = []
def presentation(self):
class Sorcier:
def __init__(self,prenom, nom, maison, age):
self.prenom = prenom
self.nom = nom
self.maison = maison
self.age = age
self.sorts = []
def presentation(self):
print(f"Bonjour je m'appelle {self.prenom} {self.nom}, je suis de la maison {self.maison}")
Eleve
qui possède : prenom
: initialisé par le constructeurnotes
: une liste videget_moyenne
: méthode qui renvoie la moyenne d'un élèveEncapsulation
L’encapsulation est le regroupement de données et de méthodes dans une classe afin que vous puissiez masquer
les informations et restreindre l’accès de l’extérieur.
Attributs privés
On peut vouloir que certains attributs ne soient pas directement accessible.
On peut aussi vouloir vérifier que les valeurs données à certains attributs respect des régles
_
(1 espace souligné) ou
__
(2 espaces soulignés)
Mon_Yaourt = Yaourt('fraise',24)
Mon_Yaourt
?