Introduction
Connaissez Molière ? le Bourgeois gentilhomme ?…
Il fût dit dans une de ses pièces:
-« Par ma foi ! il y a plus de quarante ans que je dis de la prose sans que j’en susse rien, et je vous suis le plus obligé du monde de m’avoir appris cela ».
Je vois ceux qui sourient ! Il n’y a pas de jeux de mots !
Programmer en POO c’est comme faire de la prose sans le savoir. Maintenant vous êtes tous concernés !
Définition:
Le paradigme de programmation qu’est la POO a été défini par les norvégiens Ole-Johan Dahl et Kristen Nygaard au début de la décennie 1960.
ça nous avance bien…
Un paradigme en informatique est une est une façon d’approcher la programmation et de traiter les solutions aux problèmes et leur formulation dans un langage approprié !
Concrètement, le POO consiste en la définition et l’interaction de briques logicielles appelées OBJETS
Un objet représente un concept, une idée ou toute entité du monde physique, comme une voiture, une personne ou encore une page d’un livre.
Concrètement, un objet est une structure de données qui répond à un ensemble de messages. Cette structure de données définit son état tandis que l’ensemble des messages qu’il comprend décrit son comportement :
- les données, ou champs, qui décrivent sa structure interne sont appelées ses attributs ;
- l’ensemble des messages forme ce que l’on appelle l’interface de l’objet ; c’est seulement au travers de celle-ci que les objets interagissent entre eux. La réponse à la réception d’un message par un objet est appelée une méthode.
ok ok ok ok ok !
Bon et moi développeur, quand est ce que je suis concerné ?
La POO est à l’informatique ce que la prose est au langage courant.
Alors la programmation orientée objet vous inspire t-elle ?
Pourtant toutes les définitions vous les connaissez si vous codez un tant soit peu en PHP, PYTHON, ou JavaScript !
Ha mince je faisais de la POO sans le savoir ? Ben Ouais
Objets, méthodes, fonctions …
Un programme P.O.O construit des objets. Chaque objet associe des données (aussi appelées champs, variables, attributs) et des méthodes (rarement appelées procédures, fonctions) agissant exclusivement sur les données de l’objet.
Exemples:
var personne = {}; est un objet
var prénom = [‘paul’, ‘jean’, ‘vincent’] est un objet.
Paul, jean, et Vincent sont des propriétés.
var monObjet = {
nomDuMembre1: valeurDuMembre1,
nomDuMembre2: valeurDuMembre2,
nomDuMembre3: valeurDuMembre3
}
monObjet est un objet,
nomDuMembre1 est une propriété,
ValeurDuMembre1 est une valeur.
Chaque fonction native ou pas peut être ciblée pas ses propriétés et ses méthodes.
Pour les nombres, minValue est une propriété.
Pour les chaines de caractères: texte.toUppercase est une méthode…
Voilà ! c’est ça la programmation orienté objet. C’est se promener entre les fonctions et les méthodes affectées à des objets…
Et je fais du POO sans le savoir comme je fais de la prose sans le savoir….
Le reste sur MDN Web docs:
Bon je vous laisse. Je vais essayer de prendre un peu d’avance en AJAX.