Programmation ImageJ
1.Intérêt de la programmation orientée objet
Avant-propos
Avant de commencer à programmer dans ImageJ, il faut mieux avant bien comprendre ce qu'est la
Programmation Orientée Objet, son vocabulaire et ce qui la différencie de la programmation
linéaire (appelée aussi procédurale). Sinon, il vous sera impossible d'écrire un plugin ImageJ, voire
un programme Java.
1.1 Principe de la POO : le choix de Java
La programmation objet s'appuie sur l'utilisation d'objets (non sans rire ...), c'est-à-dire que vous
créez un objet qui va avoir une fonction précise. L'intérêt de cet objet est qu'il est réutilisable dans
n'importe quel programme.
Prenons un exemple simple, créons un objet, appelons le connexion, dont le but est de vous
connecter à une base de données. Vous codez une fois cet objet et ensuite, dans tous vos
programmes, il vous suffit de l'appeler. Plus besoin de re-coder cette portion de code. Après le
codage de plusieurs objets, on peut dire que la conception d'un programme ressemble plus à un jeu
de Lego. Vous y incorporez les objets dont les fonctions vous sont utiles. Je pense que vous voyez
l'intérêt ...
Vous pouvez récupérer des objets et les réutiliser à volonté donc gain de temps. De plus, Java
possède une très grande bibliothèque d'objets prêts à servir.
1.2 POO vs. Programmation linéaire
Lors d'une programmation linéaire (ou procédurale), on commence avant tout par chercher les
taches à accomplir, puis on code des procédures qui, étape par étape, vont résoudre ces taches.
Donc, on travaille avant tout sur les méthodes. En POO, on commence d'abord par isoler les classes
(les actions si vous voulez) et seulement après on s'occupe des méthodes. De plus, en POO, chaque
méthode est associée à une classe.
Que nous apporte cette différence ? D'abord, les classes regroupent les méthodes créant ainsi une
bibliothèque de fonctionnalités plus facilement utilisables que des bouts de code. De plus,
l'encapsulation évite la corruption par d'autres objets. Donc, si vous avez un bug, cela ne peut venir
que de votre classe et non pas d'une autre. Il en découle qu'au lieu d'examiner les 20000 lignes de
code, vous n'avez qu'à regarder celles qui sont en rapport avec la classe défaillante.
Bon, je vous vois venir, certains vont dire qu'en php quand ils codent, ils font des fonctions qu'ils
appellent via des include. En fait, là, vous créez des modules. Mais ces modules ne peuvent avoir
qu'une seule instance. Si vous voulez une autre instance, vous devez faire une copie de ce module et
faire quelques modifications. Or en POO, une classe peut avoir un nombre illimité d'instances
contrairement à vos modules.