Banière du site

[koala01.free.fr]->Tutoriaux->la programmation orientée objet ->Introduction

Image d'imprimante   image d'enveloppe

1.1 Programmation Orientée Objet, KESSAKO?

La programmation orientée objet a simplement pour but de faire correspondre un peu plus encore les techniques de programmation à ce que l'on rencontre dans la vie de tous les jours.

En effet, nous sommes en permanence entourés d'objets, de choses, dont les caractéristiques, les valeurs propres, sont intimement liées avec l'utilisation même de l'objet.

Ainsi, quand on regarde une porte, elle peut etre ouverte ou fermée, verouillée ou non, et toutes les actions que nous pouvons entreprendre dessus n'auront en effet pour seul but que de modifier l'état de cette porte.

De même, il ne viendrait sans doute à l'idée de personne d'essayer d'enfoncer un clou dans un mur à l'aide d'une tasse ou d'un verre.

La programmation Orientée Objet n'a été créé que dans le but de permettre de lier intimement les données avec l'utilisation qui en est faite, ce qui présente de certains avantages, entre autres, en termes de réutilisabilité du code et de sécurisation des données.

La programmation séquentielle classique présente en effet des inconvéniants majeurs liés au fait que les fonctions et procédures créées pour utiliser les données sont tout à fait indépendantes des données qu'elles doivent utiliser:

fleche haut

1.2 Les problèmes liés aux besoins

Si vous avez pris la peine de lire la section «principe de programmation», vous êtes sans doute convaincu de la nécessité de définir clairement les besoins de l'application que vous voulez créer.

Cependant, si vous avez la possiblité de parler avec des développeurs de ce qu'ils considèrent comme vrai en ce qui concerne les besoins identifiés au départ de leur discussion avec les utilisateurs, ils vous diront sans doute que

Vous obtiendrez même souvent une réponse proche de

Les besoins changent tout le temps

Mais vous n'entendrez jamais une développeurs vous dire que

L'utilisateur m'a tout de suite indiqué tout ce qu'il fallait pour créer l'application qu'il attendait

Les raisons de ces réponses dans l'ensemble si négatives sont multiples, et tournent généralement autour des thèmes:

Tout cela fait que les besoins déterminés d'une application sont en perpétuelle évolution.  Même le fait que vous soyez l'utilisateur de l'application que vous voulez développer ne changera rien à cette évolution.

fleche haut

1.3 Les limites de l'approche "fonctionnelle"

Je vous expliquais, dans la section principe de programmation, qu'un problème complexe peut toujours être subdivisé en plusieurs problèmes plus simple à résoudre, et cela restera vrai quoi qu'il arrive.

Cependant, la constante évolution des besoins fait apparaitre l'une des principales limites de cette approche.

Imaginons, simplement, que vous vouliez créer une application qui affiche des formes géométriques à l'écran.

Vous commencerez, vraissemblablement, par " découper" l'affichage des formes avec celles qui vous viendront rapidement à l'esprit: rectangle, cercle, etc.

Mais, plus ou moins rapidement, vous vous rendrez compte que vous avez oublié de prendre en compte les triangles, les élipses, l'oval, le paralélograme, voire volumes…

Et les modifications à apporter à ce que vous avez déjà fait seront d'autant plus importantes que les données permettant le tracé de chacune de ces formes seront différentes de celles que vous avez déjà envisagées.

fleche haut

1.4 La solution

p>La solution est, finalement, relativement simple: Trouver un moyen de faire de manière à ce qu'une structure de données soit responsable de son propre fonctionnement.

C'est tout le but recherché par le paradigme de programmation orientée objet.

image d'imprimante   image de mail   fleche haut

Evaluation donnée par les visiteurs
Cette page a été évaluée 2 fois et a obtenu une moyenne de très bien expliquée
Mon appréciation sur la compréhensibilitéde cette page est:
  • incompréhensible
  • mal expliquée
  • compréhensible, sans plus
  • bien expliquée
  • très bien expliquée

fleche haut

[koala01.free.fr]->Tutoriaux->la programmation orientée objet ->Introduction

Copyright (©) 2005 (Philippe Dunski)

Ce cours est libre, vous pouvez le redistribuer et/ou le modifier selon les termes de la Licence Publique Générale GNU publiée par la Free Software Foundation (version 2 ou bien toute autre version ultérieure choisie par vous).

Ce cours est distribué car potentiellement utile, mais SANS AUCUNE GARANTIE, ni explicite ni implicite, y compris les garanties de commercialisation ou d'adaptation dans un but spécifique. Reportez-vous à la Licence Publique Générale GNU pour plus de détails.

Cependant, l'auteur apprécierait grandement que vous lui fassiez part de toute modification apportée à son contnu

Vous pouvez le contacter par mail à l'adresse koala01@free.fr

Vous pouvez trouver une adaptation française de la licence GNU/GPL à l'URL http://www.linux-france.org/article/these/gpl.html