Mis à jour le lundi 30 octobre 2017
  • 20 heures
  • Moyenne

Ce cours est visible gratuitement en ligne.

Ce cours existe en livre papier.

Vous pouvez obtenir un certificat de réussite à l'issue de ce cours.

J'ai tout compris !

Qu'est-ce que la POO ?

Connectez-vous ou inscrivez-vous gratuitement pour bénéficier de toutes les fonctionnalités de ce cours !

Vous venez d'acquérir les bases essentielles à la programmation Swift.

Cette partie porte sur la programmation orientée objet (que j'abrégerai par la suite par POO). Jusqu'à maintenant, tout ce que je vous ai appris était une méthode de programmation dite procédurale. La POO elle, est une méthode de programmation différente de celle-ci. Rassurez-vous, vous n'allez pas tout apprendre de nouveau.

La POO est une méthode très célèbre aujourd'hui dans le monde de la programmation. Très célèbre certes, mais aussi et surtout de plus en plus utilisée. Swift n'y échappe pas, Apple a conçu Swift de façon à pouvoir utiliser la POO.

Qu'est-ce que la POO ? On voit ça tout de suite !

Qu'est-ce que la POO ?

Je me répète, jusqu'à maintenant vous avez programmé de façon "procédurale". C'est-à-dire grosso modo : vous écrivez tout dans un fichier, les instructions à la suite des autres. Normal, me direz-vous. Je vous ai appris comme ça et ce n'est pas pour vous prendre en traître, bien au contraire. Cela vous facilitera la tâche pour comprendre la POO.

On peut vraiment programmer d'une façon différente de celle que l'on a apprise depuis le début de ce cours ? Je suis curieux de voir ça.

Oui on peut. La POO va vous permettre de programmer en manipulant des objets. Ces objets eux vont interagir ensemble pour permettre de créer votre programme.

Il s'agit d'une conception délicate à apprendre et à comprendre surtout. C'est pourquoi je vous invite à lire et relire et pratiquer toute cette partie. Il vous faudra un moment d'adaptation pour vous faire à cette méthode, c'est normal. C'est une méthode complexe mais... puissante quand on sait la manier !

De plus, le langage Swift a été conçu pour la programmation orientée objet. Il vous faut savoir l'utiliser au mieux. Vous verrez, lorsque vous passerez au développement iOS ou macOS, ce ne sera quasiment que de la POO.

La POO permet de manipuler des objets, mais qu'est-ce que c'est concrètement des objets ? J'explique ça tout de suite.

Qu'est-ce qu'un objet ?

En programmation, un objet a la même définition que celle que vous connaissez. Des objets dans votre entourage, il y en partout. Si vous êtes dans votre bureau ou votre chambre, je suis sûr que vous trouverez ce genre d'objets : armoire, lampe, lit, table de chevet, chaise, bref.

Je vais tâcher de prendre un exemple pertinent pour expliquer. Je vais prendre pour objet une personne. Oui ça vous paraît peut-être bizarre, mais une personne peut être considérée comme un objet, tout du moins en programmation. Comment pourrait-on définir notre personne dans notre programme ?

Une personne possède plusieurs caractéristiques, par exemple :

  • Elle possède un nom.

  • Elle possède un prénom.

  • Elle a un âge.

  • Elle a une adresse.

Qu'a-t-on là ? Des valeurs, à savoir : nom, prénom, âge, adresse. Ça vous fait penser à quelque chose ? Eh oui, à des variables. Ces valeurs représenteront donc nos variables pour l'objet. Sauf que l'on ne parlera pas de variables pour un objet, mais de propriétés. Une personne a pour propriétés : un nom, un prénom, un âge, une adresse (et plus encore bien sûr !).

Une personne possède des propriétés, mais elle peut aussi faire plusieurs choses comme :

  • Se déplacer.

  • Fêter son anniversaire.

  • Déménager.

  • Aller à l'école, etc.

Une personne peut faire pas mal de choses, je ne vais pas tout lister, je pense que vous avez compris.

Ici, ce sont des actions à effectuer. Et cette fois-ci, on peut représenter ça par des fonctions dans notre programme. Là aussi, pour un objet, on ne parlera pas de fonctions mais de méthodes. Une méthode sera donc une fonction pour notre objet.

Ces propriétés et méthodes permettent de définir notre objetPersonne.

Comment on définit un objet alors ?

Pour définir notre objet, et donc définir nos propriétés et méthodes, on va créer ce qu'on appelle une classe.

Qu'est-ce qu'une classe ?

Une classe est ce qui va définir notre objet. Elle va ainsi regrouper d'une part des variables qui seront nos propriétés de l'objet, et d'autre part des fonctions qui seront les méthodes de cet objet.

Quelle est la différence entre classe et objet ?

Une classe est un concept, une simple définition. Un objet lui est la concrétisation de ce concept.

Une personne est un concept, donc une classe. Vous, vous êtes une concrétisation de ce concept. On parlera en programmation d'instanciation de cette classe.

On définit notre personne en créant une classe Personne et on crée des instances de cette classe qui sont nos personnes.

Un objet Personne pourra exécuter des actions, c'est-à-dire nos méthodes. Prenons l'action de déménager : si une personne déménage, alors son adresse change. De ce fait, dès que la personne déménagera, la valeur de son adresse changera. On change donc la valeur de la propriété qui correspond. De même, si une personne fête son anniversaire, alors elle a un an de plus. On modifie donc la valeur de notre propriété pour l'âge. Vous voyez que les propriétés et méthodes sont liés. Dans les méthodes, nous pourrons accéder aux propriétés de l'objet en question.

Voici en gros ce que c'est la POO et comment l'intégrer dans notre programme. Mettons-nous maintenant à la pratique et créons nos objets pour les manipuler. Les chapitres suivant vous permettront de mieux comprendre le concept. :)

Exemple de certificat de réussite
Exemple de certificat de réussite