Aller au contenu

Présentation

Introduction

La programmation orientée objet (POO) organise le code autour de classes qui regroupent des données et des comportements. Comme dans le langage C#, Python permet d'implémenter des classes, que nous pouvons instancier afin de créer des objets (aussi appelés instances). Les concepts objets tels que l'encapsulation, l'héritage et le polymorphisme sont aussi présents.

Comparaison entre Python / C#

Voici une vue d'ensemble des correspondances entre Python et C# concernant la programmation orientée objet :

Concept C# Python
Déclaration d'une classe class Product { ... } class Product: avec indentation
Création d'un objet new Product(...) Product(...)
Instance courante this, présent de manière implicite self, explicite dans la déclaration
Initialisation Constructeur portant le nom de la classe Méthode __init__
Contrôle d'accès Modificateurs public, protected, private, etc. Conventions de nommage, sans restrictions équivalentes
Propriétés Accesseurs get et set Décorateurs @property et @nom.setter
Héritage class Dog : Animal class Dog(Animal):
Redéfinition d'une méthode Généralement virtual puis override Redéclaration de la méthode dans la classe dérivée
Héritage de classes Une seule classe de base Plusieurs classes de base possibles
Polymorphisme Notamment via l'héritage et les interfaces Par héritage et duck typing