Bienvenue dans notre cours ‘Programmation orientée objet en Python’. Ce cours traite les concepts fondamentaux de la POO. Aussi, on explique , puis implémente, les principes primordiales comme l’encapsulation, l’héritage, le polymorphisme et l’abstraction.
Tout d’abord, commençons par une introduction importante qui décrit pourquoi on aura besoin d’une tel programmation (POO) ?
Approche fonctionnelle vs POO
Dans une approche fonctionnelle (Programmation Structurelle) : les programmes sont composés d’une série de fonctions. Ces derniers assurent ensemble certains services. Il s’agit ,en effet, d’une approche logique, cohérente et intuitive de la programmation.
Avantage : la factorisation des comportements. Autrement dit, pour créer une fonction d’une application, on peut utiliser un autre ensemble de fonctions (qui sont donc déjà écrites).
Défauts: une maintenance complexe en cas d’évolution de l’application. En effet, une simple mise à jour de l’application à un point donné peut impacter en cascade sur d’autres fonctions de l’application.
Ainsi; L’approche fonctionnelle n’est pas adaptée au développement d’applications qui évoluent sans cesse et dont la complexité croit continuellement ( c’est à dire si l’application contient plusieurs dizaines de milliers de lignes de code).
La POO ( Programmation Orientée Objet)
Définition:
La P.O.O peut se définir comme l’art de décomposer une application en un certain nombre d’objets qui communiquent entre eux afin de réaliser une ou plusieurs tâches.
Autrement dit, si dans la programmation fonctionnelle, l’unité de travail est la fonction, alors, la programmation orientée se base sur les objets (qu’on va définir et expliquer dans la partie suivante du cours).
Le but de la POO :
Le but de la programmation orientée objet est de réduire la difficulté de la tâche à accomplir . En effet, et selon le principe “Diviser pour régner”, on décompose le problème initial en un grand nombre de petits problèmes qui sont plus simples à comprendre et à résoudre.
Avantages de la P.O.O
- Faciliter le développement des applications informatiques
- Rendre plus facile la maintenance de ces applications
- Modularité: introduire la notion de « module » (regrouper les éléments homogènes dans un seul module)
- Minimiser le coût
- Réduire le temps de réalisation
- La ré-utilisabilité
- L’extensibilité
- L’approche objet a été inventée pour faciliter l’évolution d’applications complexes.
Langages de programmation orientée objet
- Tout d’abord, Simula a été le premier langage de programmation à implémenter le concept de classes en 1967 ! .
- Puis, en 1976, Smalltalk implémente les concepts d’encapsulation, d’agrégation, et d’héritage.
- Ensuite, de nombreux langages orientés objets ont été mis au point : Object Pascal, C++, Java, VB.Net,C#,Python, Javascript, etc.
Vous pouvez suivre notre liste des vidéos sur la programmation orientée objet sur notre chaine youtube 9raytifclick (Darija: arabe marocaine) : POO en Python
Aussi, si vous voulez commencer l’apprentissage d’un langage de programmation, voilà notre cours : Langage Python Niveau 1 qui sera très utile pour vous (il vous aide à pratiquer tous les éléments de base de la programmation ; vus dans notre cours d’algorithmique).