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 |