Java : rendre un objet constant ?

Java : rendre un objet constant ? - Java - Programmation

Marsh Posté le 28-11-2004 à 10:13:25    

Salut a tous,  
 
Voila je voudrais par exemple qu'une méthode me renvoie un objet constant, alors que cet objet n'est pas définit constant.
 
un peu comme en c++ en faisant un :
const Objet getObjet(int index){return listObjet[i]};
 
Est il possible de faire ca en java ? (C'est super les attributs protected accesible dans tout le package ....  :sweat: )
 
Merci de vos reponse.
 

Reply

Marsh Posté le 28-11-2004 à 10:13:25   

Reply

Marsh Posté le 28-11-2004 à 10:15:01    

vince_223 a écrit :

C'est super les attributs protected accesible dans tout le package ....  :sweat:  


 
Bah oui, c'est pas la même chose qu'en C++, c'est tout ...
 
(il y a une quatrième visibilité aussi)


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
Reply

Marsh Posté le 28-11-2004 à 10:24:25    

(il y a une quatrième visibilité aussi) ?

Reply

Marsh Posté le 28-11-2004 à 10:25:42    

Friendly


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
Reply

Marsh Posté le 28-11-2004 à 10:28:00    

ouais mais ca resoud pas mon prob tout ca ! Le fait qu'un attributs protected soit accessible dans tout le package m'emmerde pas mal. (elle est pas tip top respectée l'encapsulation dans le cas des heritages !!!)

Reply

Marsh Posté le 28-11-2004 à 10:36:58    


Franchement quelqu'un peut me dire pkoi ils sont mis les attributs protected visible dans tout le package ? Je en trouve pas d'interet a faire ca ...

Reply

Marsh Posté le 28-11-2004 à 10:41:33    

Parce que l'encapsulation sert aussi au niveau package. Un package est un composant (aka subsystem), et les protected sont un point d'extension du package par dérivation, tandis que les publics sont des points d'entrée (interface publiée).
 
Les friendly sont des objets internes au composant.
 
En fait, ces visibilité permettent d'avoir deux granularité d'encapsulation : la classe et le package.


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
Reply

Marsh Posté le 28-11-2004 à 10:45:55    

D'accord mais le fait de proposer deux granularités rend le concept objet plus flou, surtout au niveau classe.
 
comment ferai tu, toi, si tu as un objet qui ne doit pas accerder aux attributs protected d'un autre objet, au sein d'un meme pacqkage ?  
 
A part les separer dans des packages respectifs ? ya t il d'autre solution ?

Reply

Marsh Posté le 29-11-2004 à 17:06:08    

Si tu ne veux pas que tes attributs soient accessibles par les autres classes du package, tu les mets "private"... Après tu fais des accesseurs à tes attributs dans lesquels tu peux faire tous les contrôles que tu veux.
 
Ensuite, quand tu fais un package, il est sensé formé un tout cohérent et donc avoir des attributs accessibles à l'intérieur du package ne me paraît pas déconnant.
Sinon c'est que tes 2 classes n'ont à priori rien à faire dans le même package.

Reply

Marsh Posté le 01-12-2004 à 16:37:01    

final static ?


---------------
HFR - Mes sujets pour Chrome - Firefox - vérifie les nouveaux posts des topics suivis/favoris
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed