Propriétés des objets et des méthodes
CHAPITRE 10
228
if ($a->coincide($c)) echo "a coincide avec c
" ;
echo "a : " ; $a->affiche () ;
$b = $a->symetrique() ;
echo "b : " ; $b->affiche () ;
if ($b->coincide($d)) echo "b coincide avec d
" ;
$a->permute ($b) ;
echo "a : " ; $a->affiche ();
echo "b : " ; $b->affiche () ;
// définition de la classe Point
class Point //ligne 15
{ public function __construct ($x, $y)
{ $this->abs = $x ; $this->ord = $y ;
}
public function affiche ()
{ echo "Je suis un point de coordoonnées : ",
$this->abs, " ", $this->ord, "
" ;
}
public function symetrique ()
{ $res = new Point(-$this->abs, -$this->ord) ;
return $res ;
}
public function coincide ( Point $p) // ici, nous avons précisé le type de $p
{ return ( ($p->abs == $this->abs) && ($p->ord == $this->ord) ) ;
}
public function permute (Point $p)
// ici, nous avons précisé le type de $p
{ $c = new Point(0, 0) ;
$c->abs = $p->abs ;
$c->ord = $p->ord ;
$p->abs = $this->abs ; $p->ord = $this->ord ;
$this->abs = $c->abs ; $this->ord = $c->ord ;
}
private $abs, $ord ;
}
?>
a coincide avec c
a : Je suis un point de coordoonnées : 1 2
b : Je suis un point de coordoonnées : -1 -2
b coincide avec d
a : Je suis un point de coordoonnées : -1 -2
b : Je suis un point de coordoonnées : 1 2
Notez qu’ici, dans les en-têtes des méthodes coincide et permute, nous avons précisé le type du paramètre $p. Il ne s’agit que d’une possibilité, pas d’une obligation, utilisable uniquement pour les paramètres
de type classe.
Précédent

- 251/370

Suivant