A voir également:
- Classe "AMIE"
- Amie virtuelle - Guide
- Classe ram - Guide
- Copain d'avant photo de classe - Forum Réseaux sociaux
- Comment savoir sa classe ✓ - Forum Loisirs / Divertissements
- Petite amie virtuelle - Guide
2 réponses
Si tu parles de classes en Java, voici la réponse:
il n'y a PAS moyen d'accéder directement à la partie "private " d'une autre classe. C'est d'ailleurs là le bute de toute méthode ou variable "private" (sécurité, besoin d'en savoir).
Si tu veux accéder à des méthodes "private "d'une classe, tu ne peux le faire QUE depuis la classe.
Par contre, si tu veux accéder à des variables"private", il te suffite de créer un "getter" et un "setter" pour cette variable. Un "getter" est une méthode publique permettant de récupérer une variable privée; un "setter" est une méthode publique permettant d'attribuer une valeur à une variable privée.
Un conseil: si tu programmes en Java, essaie de définir toutes tes variables "private", toutes tes méthodes "public" et ne définit que des constructeurs sans arguments. de cette manière, toutes tes classes seront des Java Bean (beaucoup plus réutilisables).
Exemple de code pour ton problème:
public class Person{
private String firstName;
private String lastName;
//Constructeur
public void Person(){
}
public String getLastName(){
return lastName;
}
public void setLastName(String lastName){
this.lastName = lastName;
}
public String getFirstName(){
return firstName;
}
public void setFirstName(String firstName){
this.firstName = firstName;
}
}
;-)
il n'y a PAS moyen d'accéder directement à la partie "private " d'une autre classe. C'est d'ailleurs là le bute de toute méthode ou variable "private" (sécurité, besoin d'en savoir).
Si tu veux accéder à des méthodes "private "d'une classe, tu ne peux le faire QUE depuis la classe.
Par contre, si tu veux accéder à des variables"private", il te suffite de créer un "getter" et un "setter" pour cette variable. Un "getter" est une méthode publique permettant de récupérer une variable privée; un "setter" est une méthode publique permettant d'attribuer une valeur à une variable privée.
Un conseil: si tu programmes en Java, essaie de définir toutes tes variables "private", toutes tes méthodes "public" et ne définit que des constructeurs sans arguments. de cette manière, toutes tes classes seront des Java Bean (beaucoup plus réutilisables).
Exemple de code pour ton problème:
public class Person{
private String firstName;
private String lastName;
//Constructeur
public void Person(){
}
public String getLastName(){
return lastName;
}
public void setLastName(String lastName){
this.lastName = lastName;
}
public String getFirstName(){
return firstName;
}
public void setFirstName(String firstName){
this.firstName = firstName;
}
}
;-)
Alors en C++, il n'y pas moyen d'acceder à ce qui est private.
Toutefois, si tu souhaite accéder aux attributs de ta classe, tu peux créer les fonctions GetAttribut et SetAttribut en public qui respectivement vont lire et ecrire ton attribut.
L'ideal est de le faire inline.
si par exemple ton attribut est un char * de nom toto, cela donnerait
char *GetToto(void){ retrun toto;}
void SetToto(char *ValToto) {strcpy(toto, ValToto);}
La deuxième étant sous réserve d'avoir la longueur suffisante pour ecrireValToto.
Voila
Toutefois, si tu souhaite accéder aux attributs de ta classe, tu peux créer les fonctions GetAttribut et SetAttribut en public qui respectivement vont lire et ecrire ton attribut.
L'ideal est de le faire inline.
si par exemple ton attribut est un char * de nom toto, cela donnerait
char *GetToto(void){ retrun toto;}
void SetToto(char *ValToto) {strcpy(toto, ValToto);}
La deuxième étant sous réserve d'avoir la longueur suffisante pour ecrireValToto.
Voila
17 déc. 2001 à 09:52
En tout cas merci.