Obligement - L'Amiga au maximum

Vendredi 19 avril 2024 - 07:06  

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 - constructeur, destructeur, accesseur
(Article écrit par Jérôme Palaysi et extrait d'Amiga News - mars 1998)


Voilà une nouvelle année qui sera sans doute l'année de l'apparition de Java pour Amiga. Je ne cesserai de le répéter, ce langage va modeler une informatique nouvelle, comme s'il s'agissait de l'acte majeur de cette fin de siècle.

Pour commencer, revenons à l'exemple du numéro de janvier. Dans cet exemple, nous avions deux classes : l'une était celle de l'alien, l'autre celle de l'application. A ce propos, je vous conseille de prendre connaissance de l'annexe "Applets et Applications" plus bas. Regardons la classe alien. Elle comporte des attributs (age et taille) et une méthode (celle qui lui permet de se présenter).

Constructeurs et destructeurs

Réellement, il existe deux méthodes de plus que nous ne voyons pas dans le code et qui s'appellent "constructeur" et "destructeur". Ces méthodes peuvent être explicitement décrites pas nous, mais pas nécessairement. Lorsqu'un objet est créé, la méthode "constructeur" est automatiquement appelée. Lorsqu'un objet est détruit, la méthode appelée est "destructeur".

En réalité, la première devrait s'appeler "initialisateur" dans le sens où cette méthode est en général réservée à l'initialisation des attributs de l'objet. La méthode constructeur porte le même nom que la classe. Dans notre cas, cette méthode s'appelle "alien()". Vous pouvez la rajouter dans le code :

alien()
{
	age=10;
	taille=180;
}

...ou rajouter encore un autre type de constructeur. En effet, les constructeurs peuvent être surchargés. C'est-à-dire que vous pouvez décrire une autre méthode "alien()" mais qui prend en entrée des paramètres :

alien(int age_desire,int taille_desiree)
{
	age=age_desire;
	taille=taille_desiree;
}

J'ai rajouté "_désiré" pour qu'il n'y ait pas de confusion avec le nom des attributs de la classe. Ainsi, lors de la création d'un tel objet vous pourrez passer en paramètres les valeurs des attributs "désirés" :

pierre = new alien (22,208);

Accesseurs

Étudions l'exemple de la dernière fois ; il lit la valeur des attributs de mon alien directement :

System.out.printIn("J'ai "+
           Pierre.age+
           " ans et je mesure "+
           Pierre.taille+
           " centimetres.");

Parfois, je change leur valeur directement, également :

Pierre.age=22;
Pierre.taille=180;

Arrêtons ces pratiques ! En effet, la programmation objet doit permettre aux programmeurs d'échanger leur travail de façon intense. Pour effacer des problèmes empiriques lors d'échanges de code, il faut cacher l'implémentation. Ce qui constitue l'implémentation, ce sont les attributs, il faut donc qu'un utilisateur de votre classe n'ait pas accès à vos données directement. Son seul moyen doit être l'utilisation de méthodes destinées à cet usage : les accesseurs.

Interdire l'accès à des données se fait avec le mot "private". Tout ce qui est privé ne sera utilisable qu'à l'intérieur de votre classe. Depuis le corps de votre application, vous ne pourrez pas faire d'accès direct à ces données. Pour autoriser un accès général, il faut utiliser le mot "public".

Mais, dans cet esprit, il faut envisager également l'écriture de méthodes publiques qui serviront à lire les données pertinentes de la classe et des méthodes (que l'on pourrait appeler "modificateurs") publiques qui serviront à modifier les attributs. Ainsi, depuis le corps de votre programme, vous demanderez à l'objet de faire lui-même ces opérations, ce qui cache en grande partie l'implémentation et les problèmes qui pourraient découler, si le concepteur de la classe décidait de changer d'implémentation par exemple...

Évidemment, je ne devrais certainement pas le promettre, mais j'espère pour une prochaine fois reprendre l'exemple du mois de janvier et l'arranger dans les règles de l'art (tiens ? Je n'ai rien promis). Prochainement nous visiterons des sites fameux comportant des "applets" (appliquettes), évoquerons une petite bibliographie et parlerons plus précisément des solutions Java pour Amiga...

Par contre, je ne reviendrai pas sur la polémique : "qui de Pierre ou de l'alien doit nous faire le plus peur ?". Je voudrais seulement lancer un appel à tous ceux qui auraient mis la main sur un compilateur Java pour Amiga, ou un interpréteur, ou encore un JIT. En effet, je n'ai pour l'instant rien de tout cela pour notre machine, mais des projets seraient en état de marche... Les circonstances actuelles ne me permettent pas de tester les solutions dont j'ai pris connaissance.

A part ça, n'hésitez pas à me poser des questions. Pour cela, deux adresses : jpa-laysi@ufr.lirmm.fr pour les questions faciles et fopaquicher@ufr.lirmm.fr pour les autres.

Annexe : applets et applications

Vous avez déjà entendu parler d'applets (appliquettes) à propos de Java, n'est-ce pas ? Une question légitime consiste à se demander ce qu'est une applet. Une application Java est une application "normale" comme toutes celles que vous possédez ou toutes celles que vous connaissez (TurboCalc, Scala...).

Une applet Java ressemble vraiment à une application. J'ai tendance à dire qu'il s'agit d'une application d'ailleurs, seulement, ce sont des applications que vous rencontrerez sur Internet (exécutables dans votre navigateur). Ce sont les applets Java qui ont rendu Java célèbre ! (...et qui constituent sa première force).

Pour l'utilisateur, une applet peut donc être un jeu proposé sur une page Web, une molécule chimique en 3D que l'on peut faire tourner à volonté et tout un tas d'autres choses qui demandent souvent, soit trop de complexité, soit trop d'interactivité pour être géré par une "implémentation HTML".

Pour le programmeur, une applet se programme presque comme une application. Seulement, il s'agit de classes différentes. Il faudra donc un de ces jours que l'on regarde ensemble ces classes...

Java


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