0% ont trouvé ce document utile (0 vote)
9 vues44 pages

Introduction à la POO avec Python

Le document présente une introduction à la programmation orientée objet (POO) en Python. Il explique des concepts clés de la POO tels que les objets, les classes, les méthodes et l'instanciation. Il décrit également les avantages de la POO tels que la réutilisation du code et la modélisation du monde réel. Enfin, il détaille des implémentations spécifiques de la POO en Python comme la méthode __init__ et les attributs de classe.

Traduit par

ScribdTranslations
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
9 vues44 pages

Introduction à la POO avec Python

Le document présente une introduction à la programmation orientée objet (POO) en Python. Il explique des concepts clés de la POO tels que les objets, les classes, les méthodes et l'instanciation. Il décrit également les avantages de la POO tels que la réutilisation du code et la modélisation du monde réel. Enfin, il détaille des implémentations spécifiques de la POO en Python comme la méthode __init__ et les attributs de classe.

Traduit par

ScribdTranslations
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

[Link].

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

Aujourd'hui, la POO est un paradigme de programmation fondamental pour le


développement de tout type d'application, c'est pourquoi aujourd'hui on la
majorité des langages de haut niveau (comme Java, C#, C++ entre autres)
supportent ce paradigme et cherchent à l'exploiter au maximum, Python n'est pas la
l'exception de fait en Python travailler avec la POO est très facile et agréable.
Raison pour laquelle au cours de cette présentation nous analyserons de manière
détaillées les vertus de Python lors du développement de logiciels sous
ce paradigme.
[Link]
Programación Orientado a Objetos
❑ La programmation orientée objet est un paradigme de
programmation qui cherche à représenter des entités ou des objets en groupant
datos y métodos que puedan describir sus características y
comportement.
❑ La POO est un paradigme de programmation dans lequel les concepts du monde
Les éléments réels pertinents pour notre problème sont modélisés à travers des classes.
et objets, et dans lequel notre programme consiste en une série de
interactions entre ces objets.
[Link]
Avantages de la POO
❑ Fomente la réutilisation et ❑ Construction de prototypes
extension du code. ❑ Accelère le développement de
❑ Permet de créer des systèmes plus logiciel
complexes. ❑ Facilite le travail d'équipe
❑ Relier le système au ❑ Facilite l'entretien du
monde réel. logiciel
❑ Facilite la création de
programmes visuels.
[Link]
Modèle Orienté Objet
❑Pour comprendre la POO, nous allons revoir quelques concepts de base :
1. Objet 4. Méthode.
2. Classe 5. Interface.
3. Mensaje Héritage

[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__

❑ Les classes Python n'ont pas de constructeurs ou de destructeurs


explicites. Les classes Python ont quelque chose de similaire à un constructeur : le
méthode init.
[Link]
Python–POO : La méthode __INT__
❑ __init__ est appelé immédiatement après la création d'une instance de la classe.
❑ Ce serait tentant mais incorrect de désigner cela comme le constructeur de la
classe. C'est tentant parce que cela ressemble à un constructeur(pour
la convention, __init__ est le premier méthode définie pour la classe), agit
comme un(c'est le premier morceau de code qui s'exécute dans un
instance de la classe nouvellement créée), et ça sonne même comme un

[Link]
Python–POO : La méthode __INT__

❑ Incorrect, car l'objet a déjà été construit pour quand il se


appelle __init__, et a déjà une référence valide à la nouvelle instance
de la classe. Mais __init__ est ce qui se rapproche le plus d'un constructeur qui va à
trouver en Python, et remplit le même rôle.
❑ Le premier attribut ou variable de chaque méthode de classe, y compris
__init__, est toujours une référence à l'instance actuelle de la classe.

[Link]
Python–POO : La méthode __INT__

❑ Par convention, cet argument est toujours appelé self. Dans le


methode __init__ , self fait référence à l'objet nouvellement créé; dans d'autres
les méthodes de la classe font référence à l'instance dont la méthode a été
appel.
❑ Les méthodes __init__ peuvent prendre n'importe quelle quantité de
arguments, et tout comme les fonctions, ceux-ci peuvent être définis avec
valeurs par défaut, les rendant optionnelles pour celui qui invoque.

[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

❑ Créer un objet ou instancier une classe en Python est très simple.


Pour instancier une classe, il suffit d'invoquer la classe comme si
était une fonction, passant les arguments qui définissent la méthode
__init__ . La valeur de retour sera l'objet nouvellement créé.

[Link]
Python–POO : Instanciation des classes

[Link]
Python–POO : Supprimer des objets

❑ Crear instancias nuevas es sencillo, destruirlas lo es más. En general,


il n'est pas nécessaire de libérer les instances explicitement, parce que
s'éliminent automatiquement lorsque les variables auxquelles elles
les assignations sortent du domaine. Les pertes de mémoire sont rares dans
Python.

[Link]
Python–POO : Attributs de Données

❑ Python accepte des attributs de données (appelés variables d'instance dans


Java, et les variables membre en C++).
❑ Pour faire référence à cet attribut depuis un code qui est en dehors de
la classe doit l'évaluer avec le nom de l'instance, [Link],
de la même manière que je qualifierais une fonction par le nom de son
module.

[Link]
Python–POO : Attributs de Données

❑ Pour faire référence aux attributs de données depuis l'intérieur de la classe,


utiliser self comme qualificatif. Par convention, tous les attributs de
Les données sont initialisées dans la méthode __init__. Cependant, ce n'est pas un
exigence, car les attributs, tout comme les variables locales,
ils commencent à exister lorsqu'on leur attribue leur première valeur.

[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

❑ Ainsi, si une classe dérivée a une méthode __init__ ,


remplace toujours la méthode __init__ de sa classe parente, même si
cela se définit par une liste d'arguments différents. Et cela s'applique ...
même qu'avec n'importe quelle autre méthode.

[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

classe anfibio(acuatico, terrestre):


passer
[Link]
Python–POO : Polymorphisme
❑ En programmation orientée objet, on appelle polymorphisme à la
capacité que possèdent les objets d'une classe de répondre de la même manière
message ou événement en fonction des paramètres utilisés pendant son
invocation. Un objet polymorphe est une entité qui peut contenir
valeurs de différents types pendant l'exécution du programme.
(wikipedia)

[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]

Vous aimerez peut-être aussi