Introduction à la POO avec Python
Introduction à la POO avec Python
pe
Python–P.O.O.
Programmation Orientée Objet
[Link]
Objectif spécifique
•Faire un survol général de la
programmation orientée objet
comprenant de manière générale les
conceptos tales como Objetos, Clases,
Méthodes, Héritage, Polymorphisme, etc.
Connaître et mettre en œuvre chacun des
concepts clés de la POO utilisant
Python en tant que langage de programmation.
[Link]
Carlos Alberto
VELIZ DE VILLA AGUIRRE
Instructeur de l'École des Technologies de l'Information
Huancayo, Junín
+51 975610017
cveliz@[Link]
[Link]
[Link]
INTRODUCTION
[Link]
1. Objet
❑ Un objet est une unité qui englobe dans ❑Exemple : Voiture
soi-même caractéristiques et ❑Caractéristiques
comportements nécessaires pour ❑4 roues
procesar información. Cada objeto ❑Moteur
contient des données et des fonctions. Et un ❑Boîte de vitesses
le programme se construit comme un ❑Couleur bleue
❑Rétroviseurs latéraux
ensemble d'objets, ou comme un unique
objet.
[Link]
2. Classe
❑ La classe est un modèle ou un prototype qui ❑Ejm : Classe Véhicule
définir les variables et les méthodes ❑Nro ruedas
communs à tous les objets d'un certain ❑Type de moteur
clase. También se puede decir que una ❑Nro vitesses de boîte
classe est un modèle générique pour un de changements
ensemble d'objets similaires ❑Couleur
caractéristiques. ❑Capacité du réservoir
[Link]
3. Mensaje
❑ Le message est la façon dont les objets communiquent entre eux.
❑ Ex :
❑ Lorsque nous appelons une fonction d'un objet, nous dirons que nous envoyons
ce message à cet objet.
4. Méthode
❑ Une méthode en POO s'occupe de traiter les messages qui
atteignent un objet, une méthode n'est rien d'autre qu'une fonction ou
procédure appartenant à un objet.
[Link]
5. Interface
❑ Les classes et donc aussi les objets, ont des parties
publiques et parties privées. Parfois, nous appellerons la partie
publique d'un objet son interface. Il s'agit de la seule partie du
objeto que es visible para el resto de los objetos, de modo que es
le seul moyen de communiquer avec eux.
[Link]
6. Héritage
❑ L'héritage est l'un des concepts les plus cruciaux dans la POO.
L'héritage consiste essentiellement en ce qu'une classe peut hériter
ses variables et méthodes à plusieurs sous-classes. Cela signifie que
une sous-classe, en plus de ses propres attributs et méthodes, a
incorporés les attributs et méthodes hérités de la
superclasse.
[Link]
Python–Classes et Objets
❑ Python est complètement orienté objet : vous pouvez définir vos
classes propres, hériter de celles que vous définissez ou de celles qui sont intégrées
dans le langage, et instancier les classes que j'ai définies.
❑ En Python, les classes se définissent par le mot-clé class.
suivie du nom de la classe, deux points (:) et ensuite,
indenté, le corps de la classe.
[Link]
Python–Classes et Objets
❑ Ejm:
Classe Exemple : #1
passer #2
❑ Dans cet exemple, le nom de la classe est Exemple et il ne dérive pas d'une autre.
classe. Par convention, les classes commencent par une majuscule.
❑ Cette classe ne définit pas d'attributs mais ne peut pas être vide pour cela.
nous utilisons la fonction pass, équivalente dans d'autres langages à utiliser {}
[Link]
Python–POO : La méthode __INT__
[Link]
Python–POO : La méthode __INT__
[Link]
Python–POO : La méthode __INT__
[Link]
Python–POO : La méthode __INT__
❑ Par convention, le premier argument de toute classe Python (la
référence à l'instance) est appelée self.
❑ Cumple le rôle du mot réservé this en C++ ou Java, mais self
ce n'est pas un mot réservé en Python, mais une simple convention.
❑ Bien qu'il soit nécessaire de spécifier self de manière explicite lors de la définition du
méthode, il n'est pas précisé lors de l'invocation de la méthode; Python l'ajoutera de
forme automatique.
[Link]
[Link]
Python–POO : Instanciation des classes
[Link]
Python–POO : Instanciation des classes
[Link]
Python–POO : Supprimer des objets
[Link]
Python–POO : Attributs de Données
[Link]
Python–POO : Attributs de Données
[Link]
Python–POO : Attributs de Données
[Link]
Python–POO : Surcharge de Méthodes
❑ C++ et Java acceptent la surcharge de fonctions par liste de
arguments, c'est-à-dire qu'une classe peut avoir plusieurs méthodes avec le
le même nom, mais avec des arguments en quantité différente, ou de
type différent. Python ne prend pas en charge la surcharge de fonctions. Les méthodes
se définissent uniquement par leur nom et il n'y a qu'une seule méthode par classe avec
un nombre donné.
[Link]
Python–POO : Surcharge de Méthodes
[Link]
Python–POO : Surcharge d'opérateurs
❑ La surcharge des opérateurs permet de redéfinir certains opérateurs,
como "+" y "-", para usarlos con las clases que hemos definido. Se
llama surcharge of operators because we are reusing the
le même opérateur avec un nombre d'utilisations différentes, et le compilateur
décidez comment utiliser cet opérateur en fonction de ce sur quoi il opère.
[Link]
Python–POO : Surcharge d'opérateurs
➢ ajouter ( soi, autre) ➢ divmod ( self, autre)
➢ soustraire ( soi, autre) ➢ pow ( self, other[, modu
➢ mul ( soi, autre) ➢ et (soi, autre)
➢ rmul (self, other) ➢ xor ( soi, autre )
➢ diviser_en_entier (self, autre) ➢ ou ( soi, autre
➢ mod ( soi, autre )
[Link]
[Link]
Python–POO : Héritage
❑ L'une des principales propriétés des classes est l'héritage. Cela
la propriété nous permet de créer de nouvelles classes à partir de classes
existants, en conservant les propriétés de la classe d'origine et
ajoutant d'autres nouvelles.
❑ La nouvelle classe obtenue est connue sous le nom de classe dérivée, et les classes à
à partir desquelles se dérive, classes de base. De plus, chaque classe
la dérivée peut être utilisée comme classe de base pour obtenir une nouvelle
classe dérivée.
[Link]
Python–POO : Héritage
❑ Définition d'une classe héritée en Python.
classe Instrumento:
passer
classe Guitarra(Instrumento):
passer
class Bajo(Instrumento):
passer
[Link]
Python–POO : Héritage Multiple
classe acuatico :
passer
classe terrestre :
passer
[Link]
Python–POO : Polymorphisme
❑ Le polymorphisme est le processus d'utilisation d'un opérateur ou
fonction de différentes formes pour différentes données d'entrée. Dans
En termes pratiques, le polymorphisme signifie que si la classe B hérite
de la classe A, ne doit pas hériter de tout concernant la classe A, que
peut faire certaines des choses qu'une classe différente fait
[Link]
Python–POO : Polymorphisme
❑ À la différence de Java et C++, le polymorphisme en Python n'est pas de grande.
importance, étant donné sa nature de langage dynamique.
❑ En Python, il n'existe pas de surcharge de méthodes, le dernier méthode que
se déclare remplacer les précédents, même si cela peut être obtenu
ce comportement utilisant des méthodes de # arguments variables
(autres, **autres)
[Link]
Python–POO : Encapsulation
❑ Para proteger a las variables de modificaciones no deseadas se
introduisez le concept d'encapsulation. Les membres d'une classe
ils peuvent être divisés en publics et privés. Les membres publics sont
ceux auxquels on peut accéder librement de l'extérieur de la
classe. Les membres privés, en revanche, ne peuvent être que
accedés par les méthodes de la propre classe
[Link]
Python–POO : Encapsulation
❑ L'encapsulation se réalise dans d'autres langages de programmation
comme Java et C++ utilisant des modificateurs d'accès qui définissent si
n'importe qui peut accéder à la méthode ou à l'attribut.
❑ Dans ces langues, nous avons les modifications :
❑ Public -> rend les méthodes et attributs visibles en dehors de la classe.
❑ privé -> rend les méthodes et attributs accessibles uniquement par
méthodes au sein de la classe.
[Link]
Python–POO : Encapsulation
❑ En Python, il n'existe pas de modificateurs d'accès.
❑ L'accès à un attribut ou à des méthodes est déterminé par son
nombre: si el nombre comienza con dos guiones bajos (y no termina
aussi avec deux soulignements) il s'agit d'un attribut ou d'une méthode
privée, si ce n'est pas le cas, ceux-ci sont publics.
[Link]
[Link]
[Link]
[Link]