• 20 hours
  • Medium

Free online content available in this course.

course.header.alt.is_video

course.header.alt.is_certifying

Got it!

Last updated on 2/1/19

Découvrez la POO

Log in or subscribe for free to enjoy all this course has to offer!

Alors nous y voilà ! Je pense que les parties précédentes vous ont un peu mis sur la piste, mais dans ce chapitre nous allons voir en détail ce qu'est la POO.

Oui... on y vient !
Oui... on y vient !

La programmation procédurale et la POO

Pour bien comprendre la POO, essayons de comprendre ce qu'est la programmation procédurale.

Attends, on ne sait déjà pas ce qu'est la POO ? Pourquoi tu nous parles d'autre chose ?

N'ayez crainte, je vous parle seulement de ce que vous savez déjà. En effet, aujourd'hui si vous deviez créer un programme, vous écririez une suite d'instructions les unes à la suite des autres. Éventuellement, vous créeriez des fonctions qui vous permettraient de réutiliser du code et de simplifier la lecture de votre programme. Et bien on appelle ça de la programmation procédurale ! Vous voyez, rien de nouveau ;) !

En programmation procédurale, le meilleur moyen que l'on a pour organiser notre code, ce sont les fonctions. C'est un petit peu léger...

Avec l'orientée objet, nous pouvons aller beaucoup plus loin en manipulant des objets. Pourquoi beaucoup plus loin ? Et bien parce qu'un objet, techniquement, c'est un groupe de fonctions et de variables ! Donc on va pouvoir organiser notre code avec des groupements de fonctions et de variables.

Qu’est-ce qu’un objet ?

Et bien tout simplement, un objet c'est un petit paquet de variables et de fonctions.

Prenons l'exemple du jeu "Qui est-ce ?".

Le jeu
Ça vous rappelle des souvenirs ?

Voici comment nous nous y prendrions si on voulait programmer ce jeu en orienté objet. Tout d'abord il faudrait décrire le jeu avec des objets. Alors quels objets avons-nous ?

Nous avons bien sûr des personnages. Voilà un premier objet. Ces personnages ont tous des propriétés distinctives. C'est grâce à ces propriétés que, dans le jeu, nous allons pouvoir éliminer des personnages et trouver celui choisi par le joueur adverse.

Par exemple, les personnages ont comme propriétés :

  • Une couleur de cheveu

  • Une paire de lunettes ou non

  • Un sexe

  • Une barbe ou non

  • Une moustache ou non

  • Un nom

L'objet Personnage contient donc 6 variables qu'on appelle ici en POO des propriétés.

Nous avons également un objet Plateau qui contient tous les personnages.

On peut également penser à un objet Joueur qui aurait les propriétés suivantes :

  • Le personnage qu'il a sélectionné

  • Son plateau de jeu

  • S'il a gagné ou non

Enfin, on pourrait avoir un objet Partie qui aurait comme propriétés :

  • Les joueurs

  • Le joueur dont c'est le tour

  • Si la partie est finie ou non

Avec ces 4 objets : PersonnagePlateauJoueur et Partie. Nous avons décrit très précisément les éléments qui composent le jeu. En programmation procédurale, ceci aurait été simplement une longue liste de variables. En POO, on peut classer ces informations par objet.

Mais un objet, ce ne sont pas que des propriétés. Comme je vous le disais plus haut, c'est aussi des fonctions. Les fonctions dans un objet, on les appelle les méthodes. Les méthodes, c'est ce que l'objet peut faire, ses actions.

Par exemple, l'objet Joueur pourrait avoir une méthode poserUneQuestion pour en savoir plus sur le joueur adverse. Et ensuite il pourrait avoir une méthode éliminer pour éliminer certains personnages et enfin une méthode deviner pour deviner le personnage choisi par l'adversaire.

L'objet Partie pourrait avoir une méthode démarrer pour lancer la partie, remettre les personnages en place et définir le personnage sélectionné par chaque joueur.

La logique de notre programme prend place dans les méthodes. Cela veut dire qu'au lieu que notre programme soit une suite d'instructions, il sera la combinaison de plusieurs objets qui vont interagir ensemble.

À quoi ça sert ?

Les objets sont extrêmement pratiques. Un programmeur sans objets, c'est comme un jedi sans sabre laser !

Cacher une implémentation

Mettons que l'on ait un objet Voiture. Une voiture contient un mécanisme très compliqué. Le moteur qui brûle de l'essence. Cela crée de la chaleur. Cette énergie thermique est transformée en énergie mécanique. Le mouvement arrive jusqu'aux roues et la voiture avance. Toute cette logique est abstraite dans une voiture, vous n'avez pas besoin de la connaître. On l'a déjà fait pour vous. La seule chose que vous avez à votre disposition pour effectuer cette action, c'est la pédale de l'accélérateur. Tout le reste est caché sous le capot et si le constructeur a bien fait son travail, vous n'avez pas à vous en occuper.

Un objet en POO c'est exactement la même chose. Un objet peut être excessivement complexe et, pourtant, vous allez pouvoir l'utiliser au travers de seulement quelques méthodes très simples.

Représenter un concept

Un objet vous permet de représenter un concept et de le manipuler en tant que tel. Par exemple dans notre "Qui est-ce ?", nous n'avons pas une grande liste de variables et de fonctions mélangées. Nous avons simplement 4 objets clairs qui nous permettent d'organiser simplement et facilement notre logique et qui représentent des concepts simples structurant le jeu.

En résumé

  • La programmation procédurale, c'est ce que vous connaissez : la programmation à base de variables et de fonctions.

  • La programmation orientée objet se base sur le principe d'objets. Un objet c'est un ensemble de variables (appelée propriétés) et de fonctions (appelée méthodes). Cet ensemble décrit un concept unique et cohérent.

  • Un objet permet de :

    • cacher une implémentation

    • représenter un concept clairement

Example of certificate of achievement
Example of certificate of achievement