go-back Retour

Langages et programmation

📝 Mini-cours GRATUIT

Programmation objet vs procédurale

La programmation orientée-objet (POO)

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.

Comparaison des approches

  • 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).

Les trois concepts de base de la POO

La POO repose sur trois concepts fondamentaux :

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

EN RÉSUMÉ

Python

Introduction à 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.

Caractéristiques principales de Python

  • Langage multi-paradigme  on peut donc aussi bien développer selon le modèle procédural que selon le modèle objet.
  • Multiplateforme  il fonctionne aussi bien sous Windows, MacOS, Linux, etc.

Facilité d'utilisation

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

EN RÉSUMÉ

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 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.

Problèmes liés à la pile d'exécution

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.

EN RÉSUMÉ

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.

Structure du code d'une classe

Le 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.

EN RÉSUMÉ

📄 Annale PREMIUM

PREMIUM

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

NOMAD EDUCATION

L’app unique pour réussir !