Retour

Langages et programmation

🎲 Quiz GRATUIT

📝 Mini-cours GRATUIT

Programmation objet vs procédurale

La programmation orientée-objet (POO) est un nouveau modèle de programmation.
La grande différence avec l’approche procédurale réside dans le rapport entre les données et les méthodes :

  • Dans l’approche procédurale, les données sont séparées des méthodes (fonctions et procédures) qui les utilisent.

  • Dans l’approche objet, les données et les méthodes sont regroupées ensemble dans des classes. En POO, on considère le monde qui nous entoure comme des objets, caractérisés par leurs attributs mais aussi par leur comportement : une voiture a une couleur, un nombre de portes, une marque, etc. (ses attributs) mais elle offre aussi la possibilité de démarrer, de freiner, etc. (ses méthodes).


La POO repose sur trois concepts de base :

  • l’objet
  • la classe
  • l’héritage

Python

Publié dans sa première version en 1991, Python est un langage de programmation interprété (par opposition aux langages compilés). Ses instructions sont donc traduites au fur et à mesure de leur exécution par un interpréteur.

  • Python est un langage multi-paradigme : on peut donc aussi bien développer selon le modèle procédural que selon le modèle objet.

  • Python est multiplateforme : il fonctionne aussi bien sous Windows, MacOS, Linux, etc.


Python se définit comme un langage facile à utiliser, grâce à sa syntaxe simple qui permet au code source d’être lu facilement.

Récursivité

Algorithme récursif

Un algorithme récursif est un algorithme qui s’appelle lui-même.

Chaque auto-appel permet de résoudre une version plus petite du problème que l’algorithme de base doit régler. La récursivité permet des applications de la méthode « diviser pour régner » : on pourra notamment s’en servir pour implémenter un algorithme de recherche dichotomique ou un algorithme de tri fusion.

 

Pile d'exécution

Chaque appel récursif est stocké dans un pile : la pile d’exécution. À chaque fois que l’exécution d’un appel se termine, cette pile se vide. La fin de l’exécution d’un appel peut se produire si l’algorithme atteint sa dernière instruction, ou bien s'il atteint un de ses cas/condition d’arrêt.

Un cas d’arrêt est généralement une structure conditionnelle, incluant un return qui sera atteint si la condition vaut True.

Il arrive parfois que la pile d’exécution soit pleine, ce qui provoque l’arrêt du programme. Cela se produit si :

  • l’algorithme s’appelle un trop grand nombre de fois pour résoudre un problème donné, car ce problème est trop complexe ;
  • l’algorithme s’appelle un nombre de fois infini, car les cas d’arrêt ou de fin de l’algorithme sont mal choisis.

Programmation orientée objet

Objet


La programmation orientée objet se base sur la création et la manipulation d’objets virtuels.

Exemples : le personnage Mario, le navire Titanic, la planète Mars, etc.

Chaque objet sera composé de deux types d’éléments logiciels :

  • des attributs, qui représentent ses caractéristiques.
  • des méthodes, qui représentent les actions/opérations  qu’il est capable de réaliser.

Exemple : Pour Mario, quelques attributs pourraient être son nom ou son nombre de points de vie. Des méthodes pourraient être avancer, sauter, ramasser pièce.

 

Classe

Pour pouvoir créer un objet, on va déjà définir sa classe. Une classe est un « plan », un « modèle », à partir duquel on va créer des objets. À chaque fois qu’on crée un objet à partir d’une classe, on dit alors qu’on instancie la classe.

Plusieurs objets peuvent être instanciés à partir d’une même classe. Ils auront, alors, les mêmes méthodes, mais des attributs qui peuvent être différents.

La code d’une classe comporte :

  • la ligne de définition class [nom_classe] :
  • la méthode __init__, qui s’appelle le constructeur, et qui est appelée lors de l’instanciation d’un objet pour le créer. Le constructeur permet notamment de déclarer et initialiser les attributs de la classe.
  • les autres méthodes.

📄 Annale PREMIUM

PREMIUM

Annales corrigées Amérique du Nord 2021— Spé NSI

Nomad+, Le pass illimité vers la réussite 🔥

NOMAD EDUCATION

L’app unique pour réussir !