P.O.O ?
Salut tous le monde ,
je veux savoir qu'elle est la différence entre les deux méthodes suivantes :
public Point()
{
x = 0;
y = 0;
}
public Point(double x, double y)
{
this.x = x;
this.y = y;
}
je veux savoir qu'elle est la différence entre les deux méthodes suivantes :
public Point()
{
x = 0;
y = 0;
}
public Point(double x, double y)
{
this.x = x;
this.y = y;
}
Configuration: Windows XP Firefox 3.0.15
4 réponses
-
c'est comme si tu avais fait
public Point()
{
this.x = 0;
this.y = 0;
}
(pour que tu voies la ressemblance avec l'autre Point(int, int) )
c'est ce qu'on appelle des constructeurs. Ils sont appelés lorsqu'un nouvel objet est instancié (avec new).
D'ailleurs le premier, celui que j'ai copié, est dans ce cas inutile car java prévoit un constructeur par défaut qui fait la même chose (mettre les variables de l'objet à 0, et les références à NULL)
Point point1 = new Point(); // nouvel objet Point, avec x et y à 0
Point point2 = new Point(5, 2); //nouvel objet de type Point avec x=5 et y=2-
-
@BloodyAngelOui c'est une sorte de pari que j'ai fait. Mais sinon ça aurait été avec beaucoup de probabilité du C++, mais :
{
this.x = x;
this.y = y;
}
en C++ ça aurait été this->x et this->y . -
Contributeur@PacorabanixYes :o) mais ça aurait été écrit pareil en C# ;o)
-
-
ContributeurHello,
visiblement, les variables x et y de la première méthode sont déclarées en globale puisqu'elles ne le sont pas dans la méthode. De plus, la méthode ne reçoit rien et ne renvoie rien. Enfin, rien n'indique que cette méthode appartient à une classe.
La seconde méthode reçoit deux paramètres doubles, et elle utilise ces deux paramètres pour remplacer les variables de la classe à laquelle elle appartient. -
Merci pour l'explication,mais ce que je veux savoir précisément c'est ce que la methode :
public Point()
{
x = 0;
y = 0;
}
est un modificateur ou quoid ? -
ContributeurBin c'est difficile à dire en ne voyant que ça.
Vu que la fonction s'appelle "Point" et qu'elle travaille sur x et y, j'imagine qu'il s'agit d'une fonctionne qui initialise des coordonées à (0,0).