Introduction :

.

Plus qu’un simple langage de script, Python est aussi un langage orienté objet. Ce langage moderne et puissant est né au début des années 1990 sous l’impulsion de Guido van Rossum. Apparue dans les années 60 quant à elle, la programmation orientée objet (POO) est un paradigme de programmation ; c’est-à-dire une façon de concevoir un programme informatique, reposant sur l’idée qu’un programme est composé d’objets interagissant les uns avec les autres.

Un objet est une donnée. Une donnée constituée de diverses propriétés, et pouvant être manipulée par plusieurs opérations. La programmation orientée objet est le paradigme qui nous permet de construire nos propres types d’objets, avec leurs propriétés et opérations. Ce paradigme vient avec de nombreux concepts qui seront explicités le long de ce cours. La modélisation du programme qui consiste à répertorier les objets dont l’application aura besoin, et à définir les relations entre eux. Aujourd’hui, Python regroupe une communauté internationale de contributeurs, est enrichi d’une multitude de bibliothèques. Python reste un excellent outil pour développer une application, quel que soit le langage que l’on veut atteindre Il vous est conseillé de maîtriser les bases de ce dernier (manipulation de valeurs, structures de contrôle, structures de données, fonctions) avant de continuer votre lecture. Nous travaillerons avec la version 3 de Python

.

La Programmation Orientée Objet : (POO) :

.

la POO permet de mieux modéliser la réalité en concevant des modèles d’objets, les classes.
Ces classes permettent de construire des objets interactifs entre eux et avec le monde extérieur.
Les objets sont créés indépendamment les uns des autres, grâce à l’encapsulation, mécanisme qui permet d’embarquer leurs propriétés.
Les classes permettent d’éviter au maximum l’emploi des variables globales.
 Enfin les classes offrent un moyen économique et puissant de construire de nouveaux objets à partir d’objets préexistants.

.

2. Objet (Instance) et classe :

.

Python est un langage qui utilise plusieurs paradigmes et parmi ceux-ci, le paradigme objet. Ce dernier a été élaboré dans les années 1970 et est avant tout un concept. Un objet représente :

 un objet physique :
        ❌ parcelle de terrain, immeuble, appartement, propriétaire, locataire… ;
        ❌ voiture, pièces d’une voiture, conducteur, passager… ;
        ❌ bibliothèque, livre, page d’un livre… ;
        ❌ périphérique matériel, robot… ;
un objet informatique :
        ❌ fichier (image, document textuel, son, vidéo…) ;
        ❌ service (serveur, client, site Internet, web service…) ;
        ❌ un flux de données, pool de connexions… ;
un concept :
        ❌ porteur d’une notion qu’il peut partager ;
        ❌ séquenceur, ordonnanceur, analyseur de données…
Concrètement, un objet est constitué de 3 caractéristiques :
        ❌  Un type, qui identifie le rôle de l’objet (int, str et list sont des exemples de types d’objets) ;
        ❌ Des attributs, qui sont les propriétés de l’objet ;
        ❌ Des méthodes, les opérations qui s’appliquent sur l’objet.

.

Toute valeur en Python est donc un objet. 

.

.

.

Le vocabulaire :

.

.

Le vocabulaire de base de la POO 

.

Une classe est équivalente à un nouveau type de données. On connaît déjà par exemple les classes list

ou str et les nombreuses méthodes permettant de les manipuler, par exemple :

introduction_POO_fichiers/image002.jpg

Un objet ou une instance est un exemplaire particulier d’une classe. Par exemple est une instance de la classe list et”maclass”est une instance de la classe str.

Les objets ont généralement deux sortes d’attributs : les données nommées simplement attributs et les fonctions applicables appelées méthodes.

La plupart des classes encapsulent à la fois les données et les méthodes applicables aux objets. Par

exemple un objet str contient une chaîne de caractères Unicode (les données) et de nombreuses méthodes.

On peut définir un objet comme une capsule contenant des attributs et des méthodes :

introduction_POO_fichiers/image006.jpg

.

3. Classe :

.

.

Le terme « classe ». Il s’agit en Python d’un synonyme de  « type». Un objet étant le fruit d’une classe.

.

Les classes sont des fabriques d’objets : on construit d’abord l’usine avant de produire des objets !On instancie un objet (c’est-à-dire qu’on le produit à partir de l’usine) en appelant le nom de sa

classe comme s’il s’agissait d’une fonction :

Exemple de base :

introduction_POO_fichiers/image008.jpg

La lettre c et la lettre C, ne donnent pas le même résultat.

Explications

Le mot clé class est pour une classe ce que def est pour une fonction. Il est suivi du nom de la classe, puis de la liste (ordonnée) de ses parents, puis d’un bloc

Exemples :

introduction_POO_fichiers/image010.jpg