Sahid Ferdjaoui Blog - Funraill Foundation Bienvenue, Log in - thème 2007 RC1

Powered by OpenSource Softwares

Outil de déboggage colaborative
reduire

POO Bonne pratique, Retour de methode

le 5 juin 2008 par sahid

Retour de méthode en POO

Dans une classe, je pense qu’il est bon de donner en valeur de retour aux méthodes qui modifies les propriétés de la celle-ci, leur propre instance, prenons l’exemple de la bonne vielle classe Point :)

Exemple en C++

  1. class Point {
  2.  private:
  3.   int _x;
  4.   int _y;
  5.  public:
  6.   Point (int x, int y) {
  7.     _x = x;
  8.     _y = y;
  9.   }
  10.   Point * updateX (int new_x) {
  11.     _x = new_x;
  12.     return this;
  13.   }
  14.   Point * updateY (int new_y) {
  15.     _y = new_y;
  16.     return this;
  17.   }
  18. };
  19.  
  20. int
  21. main (int argc, char * argv[])
  22. {
  23.   Point * p_obj;
  24.  
  25.   p_obj = new Point (3, 5);
  26.   p_obj
  27.     ->updateX (10)
  28.     ->updateY (8);
  29. }

Exemple en PHP5

  1. class Point {
  2.   private _x;
  3.   private _y;
  4.   public function __construct ($x, $y) {
  5.     $this->_x = $x;
  6.     $this->_y = $y;
  7.   }
  8.   public function updateX ($new_x) {
  9.     $this->_x = $new_x;
  10.     return $this;
  11.   }
  12.   public function updateY ($new_y) {
  13.     $this->_y = $new_y;
  14.     return $this;
  15.   }
  16. }
  17.  
  18. $point = new Point (3, 5);
  19. $point->updateX (8)->updateY(10);

Rien de bien extraordinaire dans tous cela, je vous l’accorde !, mais j’aimerais bien publier le plus souvent possible des retours d’expériences en programmation objet, des plus simples aux plus complexes (en gros ce qui me passe par la tête), les exemples seront sous PHP5 la plupart du temps mais ils peuvent très bien fonctionner sur tout autre langages et surtout, il peut être intéressant d’échanger sur nos techniques de programmation orienté objet.