Visibilité package en java - Java - Programmation
Marsh Posté le 15-03-2013 à 11:25:58
Il faut chercher un peu
http://forum.hardware.fr/hfr/Progr [...] 0831_1.htm
Marsh Posté le 15-03-2013 à 11:32:27
Merci bcp pour cette réponse rapide mais ce n'est pas ce que je cherche.
le mot clé ptotected limite l'accès à un package bien determiné . moi par contre je veux déclarer une variable String par exemple une seule fois et l'utiliser dans n'importe quelle classe de mon package.
Marsh Posté le 15-03-2013 à 12:22:32
Soit tu veux que des sous classes héritent d'une "super classe" en en particulier d'un attribut String.
Tu dois trouver un tutoriel sur "java classes extends".
Exemple une classe Voiture extends Vehicule avec la classe Vehicule qui a un attribut "String immatriculation".
Donc l'instance de voiture a une immatriculation même si l'attribut est déclaré dans Vehicule.
Soit tu veux partager une valeur (exemple une valeur partagée pour ton appli) entre toutes les classes
-> attribut public static d'une classe dédiée
public class Valeurs {
public static final String ASAP= "as soon as possible";
}
(final ca veut dire que la valeur est figée non modifiable)
-> ou attribut d'une une interface de constantes ...
http://www.javapractices.com/topic [...] n.do?Id=32
Marsh Posté le 15-03-2013 à 12:44:07
Oui je connais très bien l'heritage en java mais je sais pas si ca va régler mon problème. je t'explique un peu ce que je vaux faire:
j'ai une classe Storage et une autre SNMPget. Je veux lorsque j'instancie un objet de la classe Storage( dans la méthode main de cette même classe) les intastances de SNMPget s'exécutent avec les valeurs des attributs de Storage.
voici le code pour que tu voix de quoi il s'agit
public static void main(String[] args) throws Exception {
Storage s=new Storage(address ip, communauté);
SNMPget AS_Peer = new SNMPWalk(peerAS,new File("/root/Desktop/peerAS" ),"=" );
SNMPget IP_Peer=new SNMPWalk(peerAddr,new File("/root/Desktop/peerIP" ),"=" );
}
je ne sais pas comment réaliser ca sans avoir à instancier un objet de la classe Storage dans la classe SNMPget.
merci pour ton aide
Marsh Posté le 15-03-2013 à 13:05:40
Tu passes l'instance de Storage comme paramètre dans le constructeur de SNMPWalk .
Code :
|
Et pour l'instanciation depuis Storage
|
Marsh Posté le 15-03-2013 à 14:18:26
ta méthode me renvoi en exception car le fait de déclarer un object Storage dans l'entête de SNMPwalk ne permet pas d'instancier cet objet. Donc lorsque je veux accèder aux methodes getIP, getAdress, la classe SNMP walk ne les reconnait pas.
voila la solution que j'ai trouvé:
j'ai ajouté dans l'entête de SNMPwalk adressé IP et communauté puis j'ai ajouté ce code dans la classe storage
public Storage (String routerAddr, String community) throws Exception // c'est le constructeur
{
this.routerAddr=routerAddr;
this.community=community;
SNMPWalk AS_Peer = new SNMPWalk(routerAddr,community, peerAS,new File("/root/Desktop/peerAS" ),"=" );
SNMPWalk IP_Peer=new SNMPWalk(routerAddr, community,peerAddr,new File("/root/Desktop/peerIP" ),"=" );
}
maintenant il suffit d'excéuter ce main
public static void main(String[] args) throws Exception {
Storage s=new Storage("10.53.3.150/161", "INTERNET@orange" );
}
les valeurs passé en paramètres dans l'instance s sont automatiquement passés à SNMPwalk
voilà. mais merci bcp pour ton aide quand même.
comment déclarer un sujet comme résolu???
Marsh Posté le 15-03-2013 à 14:29:37
bloomingdals a écrit : ta méthode me renvoi en exception car le fait de déclarer un object Storage dans l'entête de SNMPwalk ne permet pas d'instancier cet objet. Donc lorsque je veux accèder aux methodes getIP, getAdress, la classe SNMP walk ne les reconnait pas. |
Sais tu ce qu'est un getter et un setter ?
http://www.developpez.net/forums/d [...] ters-java/
Il faut que tu commences par les bases, tu es en train de prendre de mauvaises habitudes de dev ...
Marsh Posté le 15-03-2013 à 14:34:32
oui je connais les getter et les setter. mais pk crois tu que ces de mauvaises habitudes???
Marsh Posté le 15-03-2013 à 14:58:40
c'est vrai c'est bcp plus élégant avec les getter et les setter j'ai utilisé ta méthode et ça fonctionne
merci pour le conseil.
Marsh Posté le 17-03-2013 à 12:15:39
Cela n'a rien à voir avec de l'élégance, au contraire.
Marsh Posté le 15-03-2013 à 11:20:56
bonjour tout le monde,
je veux déclarer une variable de manière à ce qu'elle soit visible dans tout un package , est ce que ceci est possible ??
merci bcp