Différents
langages de programmation (sommaire)
Exemples inspirés de Franck Silvestre et développés ici. |
Les premiers pas: création de classes et d'objets
Insérer classe Java et affichage
Constructeur et gestion des variables
Un jeu de test avec les constructeurs et les méthodes utilisées
Création d'un tableau relatif à une classe et affichage
Création de package et construction de fichiers de classe
Pouvoir
construire son application par rapport à une modélisation UML
Utilisation d'Eclipse
Avant toute chose, il vous faut
télécharger le SDK
(J2SE)sur le site de Sun : veuillez dans la mesure du possible vous procurer la
dernière version du SDK qui contient le compilateur javac et l'exécutable
Java.
Sélectionnez le produit correspondant à votre système
d'exploitation (WIN 32 pour Windows 95 et 98). Le JDK 'pèse' environ 8,4 Mo.
Prévoyez donc un peu de temps...
Pour Windows 95 ->
Mettre dans l'autoexec.bat >mettre
SET PATH=c:\répertoired'installationdewinnedit;%PATH%
puis :
SET PATH=c:\répertoired'installationdewinnedit\bin;%PATTH%
CLASSPATH=.;c\répertoired'installationdewinnedit\classes;répertoired'installationdewinnedit\classes.zip
-> plus besoin à partir du jdk 1.3.
Pour 98/NT/2000 :
-> Sous Windows 98,
Modifier le fichier autoexec.bat par l'intermédiaire de l'Utilitaire de
configuration système : cliquez sur Démarrer > Programmes >
Accessoires > Outils système > Informations système. Sélectionnez
ensuite Utilitaire de configuration système dans le menu Outils. Activez
l'onglet Autoexec.bat. Vous pouvez modifier une variable existante ou en
ajouter une nouvelle en cliquant sur le bouton Nouveau.
Pour travailler efficacement
je vous propose d'utiliser le logiciel Eclipse. Vous le télécharger à cette
adresse. Il offre
l'avantage d'être gratuit et permet la construction de projet global et
surtout propose toutes les fonctions par défaut lors de la frappe (fini les
erreurs de syntaxes) J'y reviendrai plus tard ...
- Un
fois Eclipse installé, on crée un nouveau projet nommé yves sous C:\Unrecorded Data\Java-formations\yves
par exemple.
Les premiers pas création de classes
On créé via les menus une "class" Application, choisir
méthode main.
on obtient :
public class
Application {
public static
void
main(String[] args) {
System.out.println("Hello
world !");
}
}
-> Hello world !
- Il faut ensuite spécifier certaines classes. Les classes
ont la première lettre en majuscule. Les variables et le fonctions non.
- On peut utiliser CTRL ESPACE pour avoir une aide en permanence. On peut
également cliquer sur les aides des erreurs (points rouges) et choisir
"quick fix" pour que le logiciel nous propose sa correction.
- Pour concaténer des chaînes de caractères utiliser le signe +.
- La création d'un nouvel objet se fait de la façon suivante :
PieceEchiquier pe=new
PieceEchiquier();
- On voit ici la création d'objets et l'affichage via des
méthodes.
On obtient : Java-a/src/Java_dev/Application,.java.txt
Méthode statique
Une méthode statique est "vue" que par par la classe qui la
contient, c'est la méthode qui est le gestionnaire.
Les objets (ou instance d'une classe) sont stockés dans le tas (heap) et les
variables dans la pile (stack). L'accès à la pile est plus rapide. On peut
considérer l'accès au objet comme "un passage par référence" et
l'accès aux variables comme "un passage par valeur".
Pour cette raison la valeur Nbrecases reste à 1 et la couleur change. voir
: Java-a/src/Java_dev/Application.java(2).txt
Égalité d'objet
En fait lorsque qu'un objet est affecté à un second objet
"il pointe sur le même objet" donc sur la même donnée. Ceci ne
veut pas dire que les deux objets ont la même adresse mais que "la
donnée pointée" est la même !
Un exemple : Java-a/src/Java_dev/Application.java(3).txt
Insérer
classe Java et affichage
Il faut trouver la fonction effectuant la valeur absolue d'un
nombre. On cherche sur le site http://java.sun.com/j2se/1.4.2/docs/api/index.html
la classe qui répond au besoin.
Voir : Java-a/src/Java_dev/Application.java(4).txt
Constructeur
et gestion des variables
Il s'agit ici de gérer l'initialisation des variables en passant par des
constructeurs et en positionnant les variables en private.
Dans ce cas seules les méthodes de la classe x ont accès aux
variables "private" de la classe x.
Bien sûr à la création d'un objet, celui-ci hérite des méthodes et des
accès aux variables tout ceci dans un espace mémoire défini !
On verra ici comment on encapsule les méthodes dans une classe.
On verra aussi que l'on a défini plusieurs constructeurs de même nom et
c'est seulement le nombre de paramètres "passés" qui diffèrent,
c'est ce que l'on appelle "la surcharge de méthodes".
Il s'agit aussi d'inclure des méthodes pour tester les données entrées.
Voir : Java-a/src/Java_dev/Application.java(5).txt
Un
jeu de test avec les constructeurs et les méthodes utilisées
On veut créer un jeu de test avec les constructeurs et la méthode bouge.
Voir : Java-a/src/Java_dev/Application.java(6).txt
Création
d'un tableau relatif à une classe et affichage
On remarque la création du tableau de pièces et l'affichage des
pièces.
Voir : Java-a/src/Java_dev/Application.java(7).txt
Création
de package et contruction de fichiers de classe
Il s'agit essentiellement de construire un package et surtout de
construire des fichiers séparés pour les classes.
On crée un package via les menu yves.echecs.
On déplace (move via l'outil) le fichier application.java dans ce
package.
On crée une classe PieceEchiquier via l'outil et on déplace le code depuis application.java dans cette classe idem pour Echiquier
On voit que l'outil ajoute package yves.echecs; dans les classes !
On renseigne toutes les variables en private : Il faut donc dans le fichier
PieceEchiquier.java mettre les accesseurs (getters et setters) pour accéder
aux variables locales.
Voir : Package
On obtient :
pppppppp
pppppppp
........
........
........
........
pppppppp
pppppppp
Pouvoir
construire son application par rapport à une modélisation UML
- Une application c'est une partie.
- Une partie c'est des coups 2 joueurs et un échiquier.
- Un échiquier c'est un ensemble de pièces d'échiquiers.
Voir l'application complète.
On obtient :
TCFDRFCT PPPPPPPP ........ ........ ........ ........ pppppppp tcfdrfct
TCFDRFCT PPPPPPPP ........ ........ ........ ....p... pppp.ppp tcfdrfct
Deplacement non valide TCFDRFCT PPPPPPPP ........ ........ ........ ....p... pppp.ppp tcfdrfct