Accesseur d'un Point

[Résolu]
Signaler
Messages postés
666
Date d'inscription
dimanche 16 décembre 2007
Statut
Membre
Dernière intervention
11 mars 2010
-
Messages postés
666
Date d'inscription
dimanche 16 décembre 2007
Statut
Membre
Dernière intervention
11 mars 2010
-
Bonjour

Parfois je reste encore bloqué sur des truc tres bete  mais je continue a apprendre

Je veux ecrire l'accesseur d'un point

private point center;
public Point Center
{
   get
  {
    ???;
  }
  set
  {
    ???;
  }
}

Mais dans le get et dans le set je dois faire une transformation de mon point operation sur x et y
Et je suis perdu je ne sais pas comment je dois parler a mes points ?
Comment dans le get j'accede au X de mon Point public pour l'assigner (avec transformation) au x de mon point privé
Et vice versa pour le set ?

5 réponses

Messages postés
327
Date d'inscription
mardi 17 février 2004
Statut
Membre
Dernière intervention
10 avril 2010
8
J'ai oublie le } final

public Point Center
{
    get
    {
       return new Point(center.X*3,center.Y);
    }
     set
    {
       center.X=value.X/3; //value est implicitement declare ici
       center.Y=value.Y;
    }

}
Messages postés
3246
Date d'inscription
lundi 25 avril 2005
Statut
Modérateur
Dernière intervention
27 octobre 2012
41
Salut, Center ( avec une majuscule ) c'est juste une propriété, un raccourci qui évite d'écrire une fonction get et une fonction set si tu préfères.. et center ( avec une minucule ) c'est ta variable, elle est accessible dans get et set.
Messages postés
666
Date d'inscription
dimanche 16 décembre 2007
Statut
Membre
Dernière intervention
11 mars 2010
5
Salut

Et bien justement

Comme je dois faire des transformation sur ce point,

Si je comprends bien je ne vais donc pas pouvoir utiliser get set
Et je dois betement ecrire des fontions de transformation
Donc l'usage des accesseur get set est asser limité ..... ???

private Point center;

public Point getCenter()
{
   return new Point(center.X*3,center.Y);
}
public setCenter(Point value)
{
   center.X=value.X/3;
   center.Y=value.Y;
}
Messages postés
327
Date d'inscription
mardi 17 février 2004
Statut
Membre
Dernière intervention
10 avril 2010
8
Salut,

Tu peux faire des operations dans get/set

Essaye ca

private Point center;

public Point Center
{
    get
    {
       return new Point(center.X*3,center.Y);
    }
 set
{
   center.X=value.X/3; //value est implicitement declare ici
   center.Y=value.Y;
}
Messages postés
666
Date d'inscription
dimanche 16 décembre 2007
Statut
Membre
Dernière intervention
11 mars 2010
5
Merci


C'est plus clair !