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.
1.3.Bases de Java
Nous voilà arrivés dans le vif du sujet. Nous allons nous familiariser avec la structure d'un
programme Java. En effet, les éléments qui le composent se retrouvent dans toutes les applications.
1.3.1 le code de notre programme
public class PremierScript
{
public static void main(String [ ] args)
{
System.out.println("Mon premier script, c'est facile finalement");
}
}
Tout d'abord je tiens à vous rappeler une chose : Java est sensible à la casse. J'explique pour ceux
qui ne connaissent pas ce terme. Lorsque vous tapez votre code il faut respecter les majuscules et
minuscules. Par exemple si à la place de :
public class PremierScript
Vous tapez :
Public class PremierScript
Java ne reconnaîtra pas le mot clé public. Et oui tout cela à cause de la lettre « p » en majuscule. Il
vous faut donc être rigoureux là-dessus dès le départ.
public
Ce mot clé est appelé un modificateur d'accès, c'est-à-dire qu'il détermine quelles autres
parties du programme ont accès à cette classe.
class
Tout ce que l'on programme se situe dans une classe, le terme ouvre donc une classe.
PremierScript
le terme se trouvant derrière le mot clé class est le nom de la classe. Vous pouvez donner
n'importe quel nom à une classe sauf des noms de fonctions. Une règle pourtant, un nom de
classe commence toujours par une lettre. Une autre remarque s'impose. Il faut toujours donner
le même nom à votre fichier source que celui de la classe publique de votre programme. Ici
notre code sera donc sauvegardé sous le nom de PremierScript (respecter là aussi la casse).
main
Le mot clé main ouvre une méthode. Lorsque vous exécutez un programme, Java va toujours
chercher la méthode main. Sans cette méthode l'exécution est impossible. Bien sûr vous
pouvez coder d'autres méthodes que la main mais cette dernière doit toujours être présente
dans vos scripts.
Notez bien les accolades. En java, comme dans d'autres langages, chaque bloc est délimité par une
accolade.
Donc pour résumer tous vos scripts doivent au moins avoir ça :
public class NomdelaClasse
{
public static void main(String [ ] args)
{
Les instructions
}
}
Car la classe publique est celle qui est appelée lors de l'exécution du programme et la méthode main
est la méthode par défaut donc celle exécutée. En effet si on réfléchit lors de l'exécution de votre
script vous tapez :
Java NondelaClasse
Vous appelez donc la classe Nomdelaclasse, or là vous ne pouvez spécifier quelle méthode vous
appelez. Il faut donc que java ait une méthode à lancer par défaut. Devinez laquelle ? Oui, la main.
Maintenant regardons ce que contient la méthode main de notre programme.
Ici nous avons qu'une seule instruction :
System.out.println("Mon premier script, c'est facile finalement");
Première remarque :
Comme pour les macros, chaque instruction doit se terminer par un ; donc les retours à la
ligne ne délimitent pas la fin d'une instruction. Ce qui d'un autre coté peut être plus que
sympathique. Imaginez que vous avez une instruction très complexe et longue. Pour plus de
lisibilité vous pourrez étaler son code sur plusieurs lignes. Ici notre instruction affiche une
ligne de texte dans la console en l'occurrence :
Mon premier script, C'est facile finalement
Nous utilisons l'objet System.out et nous appelons sa méthode println.
Pour invoquer une méthode d'un objet on utilise donc le .
Objet . méthode(paramètre)
La méthode println affiche le texte passé en paramètre puis saute une ligne. Histoire que vous le
sachiez la différence, si vous aviez appelé la méthode print au lieu de println vous n'auriez pas eu de
saut de ligne après l'affichage de votre texte. Je récapitule, nous avons donc vu la structure de base
d'un programme java. Sans cela votre script ne peut s'exécuter. Et nous avons aussi abordé comment
nous appelions une méthode d'un objet. Voyons maintenant les commentaires.
1.3.2. Les commentaires
Les commentaires sont essentiels dans un script. Abusez-en, cela ne rendra votre travail que plus
facile et comblera de bonheur les personnes qui vous reliront ou qui voudront se baser sur votre
plugin pour en écrire un autre. Java ne compile pas les commentaires , ils n'apparaissent donc pas
dans votre exécutable.
Pour mettre des commentaires on a le choix entre // et /* */ . Le // sert pour une ligne de
commentairealors que /* */ englobe un bloc de commentaire.
/*
Code source de PremierScript
Ici on n'est pas dans ImageJ, pas besoin de « _ » dans le nom de la classe
*/
public class PremierScript
{
public static void main(String [ ] args)
{
//Affichage du texte dans la console
System.out.println("Mon premier script,c est facile finalement");
}
}
Vous avez maintenant les bases pour commencer à coder en java. Au cours des quelques chapitres
suivants, je vais rappeler un certain nombre de notions générales qu'il faudra assimiler avant
d'espérer programmer un plugin ImagJ. Vous pourriez aussi le faire « à l'instinct » en regardant
beaucoup de codes sources de divers plugins, c'est d 'ailleurs comme ça que la plupart d'entre nous
fonctionnent, mais vous n'aurez pas la pleine compréhension du fonctionnement et surtout des
causes de non-fonctionnement d'un plugin (cela arrivera forcément).
1.3.3. Les variables
Après avoir vu les notions de programmation orientée objet et la structure d'un programme de base,
nous allons maintenant aborder le vaste sujet que représentent les variables. Quels noms leur
attribuer, quels types sont à votre disposition, l'affectation, les différentes opérations réalisables ...
Cette étape est essentielle dans l'apprentissage de Java.
Une variable est un contenant où vous allez pouvoir mettre ce que vous voulez (les données). Lors
de l'exécution de votre programme vous pourrez agir sur ces variables pour en modifier leurs
valeurs (les données) via de multiples opérations. Voilà pour le concept de variable. Maintenant
voyons quelques règles de base concernant la nomination de ces dernières.
Le nom de votre variable devra toujours commencer par une lettre.
Les espaces ne sont pas autorisés mais vous pouvez utilisez le _en remplacement
Votre nom peut comporter des lettres et des chiffres
Vous ne pouvez pas attribuer comme nom de variable le nom d'une fonction java du style if,
inner ou autre.
L'un des grands avantages de Java est que l'allocation et la libération de la mémoire (valeur en byte)
sont automatiques. Mais cela ne vous dispense pas de devoir déclarer vos variables et surtout le type
de la variable.
Nous avons 8 types de variables :
4 pour travailler sur les nombres entiers (byte, short, int et long)
2 pour travailler sur les nombres réels (double et float)
1 pour travailler sur les chaînes de caractères (char)
le type booléen (boolean)
Déclarations des variables
La déclaration d'une variable est quelque chose de vraiment facile. Rien de bien compliqué, on
spécifie d'abord le type de la variable puis son nom. Chaque déclaration étant une instruction on
termine par un « ; » . D'habitude, on déclare toutes les variables au début du bloc où on les utilise.
Exemple :
int nom_variable ;
Affectations de valeur
Après la déclaration d'un variable, il est temps de la remplir, c'est-à-dire de lui affecter une valeur.
On appelle aussi cette procédure l'initialisation.
Pas besoin de longs discours un exemple sera suffisant :
int nom_variable ;
nom_variable =1 ;
Mais bon comme les choses sont quand même bien faites en ce bas monde de temps en temps il est
possible de déclarer et d'initialiser une variable en même temps :
int nom_variable =1 ;
Les constantes
Il existe une forme particulière de variable, les constantes. Les constantes sont des variables dont la
valeur ne pourra être modifiée dans le programme, des variables constantes quoi ... je sais c'est
antinomique ...
1 / 26 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !