Obligement - L'Amiga au maximum

Mercredi 24 avril 2024 - 01:09  

Translate

En De Nl Nl
Es Pt It Nl


Rubriques

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

Articles in english


Réseaux sociaux

Suivez-nous sur X




Liste des 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,
ALL


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


Galeries

Menu des galeries

BD d'Amiga Spécial
Caricatures Dudai
Caricatures Jet d'ail
Diagrammes de Jay Miner
Images insolites
Fin de jeux (de A à E)
Fin de Jeux (de F à O)
Fin de jeux (de P à Z)
Galerie de Mike Dafunk
Logos d'Obligement
Pubs pour matériels
Systèmes d'exploitation
Trombinoscope Alchimie 7
Vidéos


Téléchargement

Documents
Jeux
Logiciels
Magazines
Divers


Liens

Associations
Jeux
Logiciels
Matériel
Magazines et médias
Pages personnelles
Réparateurs
Revendeurs
Scène démo
Sites de téléchargement
Divers


Partenaires

Annuaire Amiga

Amedia Computer

Relec


A Propos

A propos d'Obligement

A Propos


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 sa trousse de développement logiciel conformément aux exigences de Sun.


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