Bonjour a tous,
Il y as beaucoup, mais beaucoup a dire sur la programmation Objet avec java.
Ce tuto devrait, je l'esperes, vous permettre de comprendre comment un programme est dévellopper pour arriver a faire presque tout ce que vous voulez par la suite.
Tout d'abord, rapide explication de "Comment passe t on de ligne de code, as un fichier éxécutable?"
Pour simplifier, un fichier éxecutable, est un fichier binaire qui est ainsi traduit pour etre comprit par l'ordinateur, mais cela s'avére un peu plus compliqué que cela.
Dans beaucoup de language de programmation ( C++ , VB, ... ) est "traduit" pour l'odinateur en fonction de son OS. Cette phase de traduction s'appelle La Compilation.
Ainsi, un fichier source compilé pour Windows ne marchera pas sur du Mac par exemple. Pour que votre code contenu dans le fichier source soit compris par toutes les plateformes, il vous faudrat complé votre sources pour chacune d'elle.
Le Java fait execption dans le domaine.
En effet, vous codez vos sources dans un fichiers en extention .java .Ensuite vous le copliez pour obtenir un fichier .class . Ce fichier n'est pas un éxecutable. Ce fichier peut etre lu par un logiciel nommé JVM ( comprennez Java Virtuel Machine ). Ce logiciel reproduit une plateforme, ... , virtuellement.
Quelle est l'interet de la chose?
Votre .class peut etre "executer" sur toute type de machine, a partir du moment qu'elle a la JVM associé a ca plateforme. Ainsi, pas la peine de mettre version de votre programme, une seul suffit pour toute les plateformes.
Donc, pour programmer en Java, il vous faut :
- Les outils de dévellopemment pour java ( c'est un programme qui permet de compiler votre code, un compilateur quoi! )
- une JVM pour tester votre programme
Pour vous procurer tout ceux-ci, vous pouvez aller
ICI pour télécharger tout ce dont vous avez besoin.
Aprés installation, vous devriez pouvoir commencer a coder en java. Pour etre sur que tout va bien, taper dans une console DOS sous Windows ou un console tout court sous linux :
et :
La premier commande est le compilateur, le second la JVM. Nous y reviendrons plus tard.
Vous devriez avoir dans les deux cas des truc qui s'affiche pour vous proposez de l'aide sur l'utilisation de ces deux commandes. Si tel est le cas, il est possible que vous ayez des problémes de variable d'environnement ( surtout sur Windows, et la google est votre ami, ca fait trop longtemps que j'ai pas installer de Java sur un Windows... ).
Vous voila enfin pres a faire votre premier programme en java ! Pour ce faire, ouvrer un editeur de texte ( genre Bloc-Note, .. ), prenez ce code, et enregister le sous le nom de "
helloworld.java"
Code PHP:
class helloworld { public static void main ( String [] arg) { System.out.println("HelloWorld"); } }
|
Aprés ca, nous allons le compiler :
Si tout ce passe bien , vous devriez voir apparaitre un fichier helloworld.class .
Pour tester votre code:
Remarque : Il est important que le meme nom dans la premier ligne du code source corresponde au nom du fichier. Sinon, ca ne marchera pas. A la compilation , il vous dira qu'il ne trouve pas la classe. Il est aussi important a l'execution de ne pas mettre l'extention du fichier, c'est "java helloworld", et non "java helloworld.class".
Epluchons ce petit bout de code qui va déja nous en apprendre beaucoup.
 | Citation |  |
| | |
| | | | class helloworld {
....
} | |  | |  |
|
Ici, nous creons un bloc d'instruction qui sera un objet qui aura pour nom helloworld.
 | Citation |  |
| | |
| | | | public static void main ( String [] arg ) {
...
} | |  | |  |
|
La, nous déclarons une fonction qui est dans l'ordre Publique, consultable depuis l'exterieur, qui ne renvoie rien. Pour le reste, nous verons ca plustard, beaucoup plustard.
Cette fonction est la premier lu, c'est elle qui lance le programme.
 | Citation |  |
| | |
| | | | System.out.println("HelloWorld"); | |  | |  |
|
Cette ligne appelle la fonction println() de la class System.out.
Elle permet d'afficher un texte dans la console.
--------------------------------------------
Les objets a proprement parler.
Le langage java est un langage orienté Objet. En pratique, ca nous permet notemment de modéliser des objets.
Prenons un exemple trés concret.
Imaginons un petit programme qui va modéliser des loups, et des moutons.
1er Question: un mouton c'est quoi?
2éme Question: un loup c'est quoi?
On va définir nos mouton, ils ont un nom, un age, un poid de laine.
On va définir nos loups comme portants un nom, ayant un age, un sexe, un pére est une mére.
Nous allons donc définir en Java deux objets types qui représneteront réspectivement un mouton, et un loup.
Voici le mouton:
Code PHP:
class Mouton {
public String nom; public int age; public int poid_laine; }
|
Quelques détails sur ces quelques lignes.
 | Citation |  |
| | |
| | | | class Mouton {
[...]
} | |  | |  |
|
Ici, nous déclarons que nous créons un objet, ou une class qui sera de type Mouton.
 | Citation |  |
| | |
| | | |
public String nom;
public int age;
public int poid_laine; | |  | |  |
|
Dans cette partie, nous déclarons les éléments qui composent nos moutons.
A savoir un nom qui est du type String ( chaine de caractére ), un age de type integer (ou int), et d'un poid en laine.
Maintenant, nous allons définir une méthode conventionnelle qui va contruire nos moutons.
Code PHP:
class Mouton { public String nom; public int age; public int poid_laine; public Mouton( String nomMouton , int ageMouton , int poid_laineMouton){ this.nom=nomMouton; this.age=ageMouton; this.poid_laine=poid_laineMouton; } }
|
Cette méthode doit porter le nom de l'objet a construire, et ne doit rien avoir dans sa signature autre que public.
 | Citation |  |
| | |
| | | | public Mouton( String nomMouton , int ageMouton , int poid_laineMouton){
[...]
} | |  | |  |
|
nomMouton, ageMouton et laineMouton sont des arguments qui permettent de renseigner notre mouton, respectivement sur son nom, sont age, et son poid en laine.
 | Citation |  |
| | |
| | | | this.nom=nomMouton;
this.age=ageMouton;
this.poid_laine=poid_laineMouton; | |  | |  |
|
ici, nous renseignions notre mouton.
Ce tuto n'est pas fini, mais devrais l'etre dans les heures/jours a venir.
N'hésitez pas si vous avez des questions.