Obligement - L'Amiga au maximum

Mardi 27 juin 2017 - 21:02  

Translate

En De Nl Nl
Es Pt It Nl


Rubriques

 · Accueil
 · A Propos
 · Articles
 · Galeries
 · Glossaire
 · Hit Parade
 · Liens
 · Liste jeux Amiga
 · Quizz
 · Téléchargements
 · Trucs et astuces


Articles

 · Actualité (récente)
 · Actualité (archive)
 · Comparatifs
 · Dossiers
 · Entrevues
 · Matériel (tests)
 · Matériel (bidouilles)
 · Points de vue
 · En pratique
 · Programmation
 · Reportages
 · Tests de jeux
 · Tests de logiciels
 · Tests de compilations
 · Articles divers

 · Articles in english
 · Articles in other languages


Twitter

Suivez-nous sur Twitter




Liens

 · Sites de téléchargements
 · Associations
 · Pages Personnelles
 · Moteurs de recherche
 · Pages de liens
 · Constructeurs matériels
 · Matériel
 · Autres sites de matériel
 · Réparateurs
 · Revendeurs
 · Presse et médias
 · Programmation
 · Développeurs logiciels
 · Logiciels
 · Développeurs de jeux
 · Jeux
 · Autres sites de jeux
 · Scène démo
 · Divers
 · Informatique générale


Jeux Amiga

0, A, B, C, D, E, F,
G, H, I, J, K, L, M,
N, O, P, Q, R, S, T,
U, V, W, X, Y, Z


Trucs et astuces

0, A, B, C, D, E, F,
G, H, I, J, K, L, M,
N, O, P, Q, R, S, T,
U, V, W, X, Y, Z


Glossaire

0, A, B, C, D, E, F,
G, H, I, J, K, L, M,
N, O, P, Q, R, S, T,
U, V, W, X, Y, Z


Partenaires

Annuaire Amiga

Amedia Computer

Relec

Hit Parade


Soutien

N'hésitez pas à soutenir le projet Obligement



Contact

David Brunet

Courriel

 


Programmation : Java - classes, objets et instances
(Article écrit par Jérôme Palaysi et extrait d'Amiga News - janvier 1998)


Programmer en Java nécessite de connaître le paradigme de programmation orientée objet. Après, tout le reste vous apparaîtra comme une simple formalité : syntaxe, connaissance des classes fournies par Java en standard, etc.

Le mois dernier, je vous proposais de revenir ultérieurement sur la phrase "un microprocesseur universel qui n'existe pas". Ce mois-ci, je vous conseille de regarder à le passage "Jazz ou Java" de l'article de Georges Tarbouriech dans lequel il fait le procès (pertinent) de Java (bien qu'il dise qu'il ne le fera pas !) et qui évoque à la fin, la sortie prochaine d'une électronique Java.

Revenons maintenant sur les notions de classe et d'objet au travers d'un exemple qui n'a rien d'informatique : une classe (une classe au sens scolaire n'a aucun rapport avec le terme de classe en programmation objet) de cours élémentaire et une institutrice. Imaginons que l'institutrice donne un modèle de poupée au tableau... et demande aux élèves de confectionner cette poupée. Ils ont du tissu, de la colle, du carton, du fil, des aiguilles à leur disposition. Juste avant de donner le départ, la maîtresse précise qu'elle veut que la poupée lève les bras et les jambes lorsque nous tirons sur un fil qui lui est rattaché. Voilà un modèle d'objet, il est au tableau, il est abstrait, c'est ce qu'on appelle une classe !

Quant aux poupées que nos chérubins réalisent, ce sont les instances de ce modèle... de vrais objets bien palpables ! Les caractéristiques physiques de la poupée sont appelées attributs. Le fait qu'elle puisse bouger s'appelle une méthode.

Le paragraphe précédent est très important, il vous résume le principe de programmation orientée objet.

Revenons à l'informatique

Imaginez que vous vouliez créer un jeu dans lequel de nombreux aliens interviennent. Alors, comme l'institutrice précédemment, vous indiquez à l'ordinateur le modèle d'un alien (c'est une classe !). Si à un moment donné de l'exécution de votre programme vous avez besoin d'un alien dit Grodoi, d'un vrai, vous devez procéder ainsi :

Alien Grodol.New Alien(); L'ordinateur réagit comme un élève et vous fabrique une instance d'un alien : un objet.

Voici maintenant les définitions, de vraies définitions incompréhensibles puisqu'elles s'appellent mutuellement : il s'agit d'un véritable dictionnaire :

classe : modèle d'objet.
objet : instance de classe.
instance : un objet particulier conçu à partir d'une classe.

Nous ne parlerons plus d'objet à propos d'instances, ça ne se fait pas ! Comprenez que c'est mal élevé, seulement il fallait bien faire apparaître le mot objet pour que la programmation objet ait un sens.

Pour finir, vous pouvez consulter l'exemple. J'expliquerai en détail ce programme la prochaine fois (nous verrons comment ça marche et dénoncerons quelques-unes de ces pratiques honteuses). Il est là parce que je l'avais promis mais en fait je n'aurais jamais dû promettre parce qu'il aurait fallu qu'il apparaisse la prochaine fois ! Mais bon... Sachez une chose importante toutefois, avant de vous poser trop de questions : une application Java est considérée elle-même comme une instance, une instance d'une classe d'applications que connaît l'interpréteur Java. Voilà pourquoi il apparaît deux classes dans le programme. Mais afin de ne pas vous embrouiller, je vous conseille d'occulter la classe programme et de décortiquer la classe alien (décortiquer un alien n'a rien de ragoûtant !).

Exemple

Il ne faut pas que Java supplante tous les langages. D'abord parce qu'il est lent, et ensuite parce qu'il est restrictif. Restrictif ? Par rapport au fait qu'il prend ce qu'il y a de commun à tous les systèmes (voir le paragraphe "100% Java" plus bas). Lent ? Bien sûr puisqu'il est interprété. Pour ce second problème, Sun investit dans l'optimisation de Java depuis quelque temps, d'énormes progrès sont encore réalisables... Une seconde manière de rendre plus rapide une application Java est de "recompiler" son code pour la machine hôte juste avant son exécution.

Java

100% Java

Le fait que Java soit "multiplates-formes" doit normalement vous poser quelques problèmes de taille. Par exemple, comment autoriser l'utilisation de deux boutons de souris alors que le Mac n'en a pas autant ? Ou encore comment ouvrir une tâche pour AmigaOS dans un écran plutôt que sur une fenêtre ? Il n'y a pas toujours vraiment de solutions. Aussi, Java peut paraître restrictif pour un système donné. C'est le revers de la médaille. Il est très sage de ne pas espérer (parce que ce ne serait pas forcément bien pour l'informatique) la disparition d'applications spécifiques aux "plates-formes". Par contre, Microsoft, sous ce prétexte, donne la possibilité de développer des applications Java spécifiques à son OS.

La plupart des entreprises ne voient la distribution de leurs applications que sur le marché Windows... Elles risquent donc sans y réfléchir vraiment, de créer des applications Java non profitables au reste du monde informatique. Ce problème n'est pas anodin. Il est peut-être à l'origine du combat informatique le plus important à l'aube du deuxième millénaire. En adoptant cette stratégie, Microsoft balaie d'un seul coup le risque de voir s'effondrer son marché. Pour palier à ce problème, Sun a inventé le label 100% Java, garantie qu'il s'agit d'une application utilisable sur n'importe quel interpréteur Java. De plus, il vient d'intenter un procès à Microsoft, pour que ce dernier distribue son kit de développement conformément aux exigences de Sun.


[Retour en haut] / [Retour aux articles] [Article précédent] / [Article suivant]