La programmation orientée objet avec python<span class="wtr-time-wrap after-title"><span class="wtr-time-number">5</span> min read</span>
python programmation orientée objet

La programmation orientée objet avec python5 min read

Dans ce tutoriel, nous allons parler de la programmation orientée objet en python. Nous étudierons les classe, les objets et les constructeurs avec quelques exemples.

Python est un des rares langages à supporter la pluspart des paradigmes de programmation. Impératif, déclaratif, fonctionnel et orienté objet. Il est donc possible de mixer ces paradigmes dans un seul programme.

La programmation orientée objet avec python

La programmation orientée objet est un paradigme de programmation basé sur les concepts de classes et d’objets. Les objets sont des structures qui contiennent à la fois des données et des fonctions pouvant ou non modifier ces données.

Les classes quand à elles sont les schémas permettant de définir les objets. On peux voir les classes comme les bases des objets. On ne peux pas créer un objet sans avoir crée de class.

Les objets sont en fait crées ou instanciés (dépendamment du terme que vous préférez) à partir d’une classe. Une classe peux avoir plusieurs objets provenant d’elle. Chaque objet peux avoir des variables uniques (appelés attributs).

Voyons maintenant comment créer un objet à partir d’une classe :

Exemples de classes et d’objets en python

class UneClasse:
    def ecrire(self):
        print("Voici un message directement sortie de mon objet")

un_objet = UneClasse()
un_objet.ecrire()

Analysons maintenant chaque ligne de code de cet exemple :

La première ligne permets de déclarer la classe. Ici on donne un nom sous la convention PascalCase (chaque mot as une majuscule)

Ensuite, on déclare une fonction ou dans notre cas une méthode appartenant à la classe. Cette méthode pourras être appelé par les objets instanciés à partir de la classe. Ici on passe “self” en paramètres, il est obligatoire de passer ce paramètre dans la fonction. Il permets à cette dernière de modifier les variables contenues dans notre objet.

La troisième ligne représente simplement le contenu de notre méthode. Ici rien d’original, on affiche simplement un message dans la console.

Ensuite, on sors de la déclaration de la classe et on crée un objet directement instancié depuis la classe. Pour se faire, on écrits le nom de la classe suivit de parenthèses, exactement comme une fonction.

Enfin, maintenant que nous avons notre objet, on appelle la fonction ecrire sur ce dernier. Ce qui renvoi :

Voici un message directement sortie de mon objet

Implémenter un constructeur

Les constructeurs ou constructors en anglais sont des méthodes qui sont appelés lors de l’instanciation de l’objet. Cette méthode permets de directement attribuer des variables à l’objet. On appelle d’ailleurs ces variables des attributs. Voyons maintenant un exemple de constructeur

class Personnage:
    def __init__(self, prenom):
        self.prenom = prenom
    def dire_prenom(self):
        print(f'Je suis un personnage et je m appelle {self.prenom}')

robert = Personnage('robert')
robert.dire_prenom()

Ici on observe que l’on as crée une fonction un peu bizzare, “__init__”. C’est ce que l’on appelle une méthode magique. Ces dernières portent des noms prédéfinis et permettent d’effectuer des actions sur l’objet.

Dans le cas de “__init__”, cette méthode permets d’effectuer des opérations lors de l’instanciation de l’objet. Mieux encore, on peux directement mettre des arguments dans les parenthèses lors de la déclaration de l’objet et “__init__” va récupérer ces arguments pour les utiliser.

On voit qu’on récupère une variable prénom et que l’on l’assigne à une autre variable appelé “self.prenom”. Ce mot clé ‘self’ signifie que l’on touche aux attributs de l’objet. En faisant ça, on range la variable prénom dans l’objet.

Ensuite, on déclare une nouvelle fonction qui est dire_prenom(). Celle-ci va aller récupérer la variable “self.prenom” et va l’afficher dans un message via print.

Enfin, on instancie un objet en lui passant comme prénom ‘robert’, et on exécute la fonction “dire_prenom()”.

Ce qui renvoi :

Je suis un personnage et je m'appelle robert

On voit ici que l’objet peux récupérer ses attributs et les utiliser dans les méthodes. Bien sûr, il peux aussi les modifier.

Ce que je voulais illustrer derrière cet exemple, c’est le fait que les objets vont renvoyer des résultats différents selon la valeur de leurs attributs.

En conclusion

La programmation orientée objet permets de structurer son code d’une manière très puissante. On peux avoir un programme parfaitement organisé et facilement utilisable via ce paradigme.

Néanmoins, c’est un système assez difficile à maîtriser et nous n’avons fait qu’effleurer la surface. Il existe des dizaines de méthodes magiques et d’autres concepts comme l’héritage. Pour plus d’informations je vous invite à lire mon article sur la programmation orientée objet.

Si cet article vous as plu, vous pouvez vous abonner à ma newsletter pour recevoir le guide GRATUIT Ultime pour bien débuter la programmation

Vous abonner à notre newsletter

* champ requis

Au plaisir de vous revoir sur mon site !

Laisser un commentaire

Fermer le menu
×
×

Panier