> -----Message d'origine-----
> De : Laurent Martelli [mailto:[EMAIL PROTECTED]]
> Envoy� : jeudi 5 d�cembre 2002 16:45
> � : [EMAIL PROTECTED]
> Objet : Re: Du changement dans le langage
>
>
> >>>>> "Pierre-Yves" == Pierre-Yves Varoux
> <[EMAIL PROTECTED]> writes:
>
>   >> import static (pour faire comme si il y avait des globales) Le
>   >> import static je sais pas ce que s'est ; m'est avis qu'on
>   >> s'�loigne franchement de la POO...
>
>   Pierre-Yves> En effet, de r�aliser un import statique c'est un peu
>   Pierre-Yves> d�verser le contenu d'une classe dans une autre... Dans
>   Pierre-Yves> ce cas que devient l'encapsulation ?
>
> Je ne vois pas le rapport avec l'encapsulation. L'import ne te donne
> pas acc�s � plus de choses.


Si tu fais un import static de Math.*, tu vas par exemple utiliser la
m�thode abs() comme s'il s'agissait d'une m�thode de la classe
utilisatrice... c'est pour cela que j'ai �cris que "l'on d�verse un peu le
contenu d'une classe dans une autre", et que par cons�quent le concept
d'"encapsulation" devient moins fort d'une certaine mani�re (je ne pensais
pas du tout au fait que l'on puisse acc�der � des attributs ou des m�thodes
protected ou private).

Autre inconv�nient, on peut imaginer que si ta classe poss�de une m�thode
abs(), il va bien falloir que tu �crives this.abs() pour �viter la confusion
avec Math.abs().


La lisibilit� du code risque aussi d'en prendre un coup :
 -> si on a plusieurs imports statiques, la m�thode abs() appartient soit �
la classe, soit � l'une ou l'autre des classes statiques import�es... il va
falloir chercher pour savoir.


> Ca permet juste d'�conomiser l'�criture du nom
> de la classe.
> C'est comme de ne pas avoir � se taper le nom du
> package de chaque classe � chaque fois.

La remarque est int�ressante ...


Ma conclusion :
L'id�e de ce concept semble bonne si l'on importe statiquement des classes
"classiques" de la JFC (Math ou Color par exemple, dont on connait � peu
pr�s les noms de m�thodes et d'attributs), mais si l'on fait de m�me avec
des packages autres ou propi�taires, alors le code risque vraiment de
devenir illisible.


Pierre-Yves
http://www.add-online.fr

Répondre à