[PHP] Question à propos des classes

Question à propos des classes [PHP] - PHP - Programmation

Marsh Posté le 15-03-2005 à 10:10:13    

Bonjour,
 
En faite j'ai une question surement conne mais peut on declarer une classe dans une autre classe en PHP ? Car je n'y arrive pas
 
J'ai par exemple une classes ligne qui contient 2 classes points mais je n'arrive pas a acceder aux methode des classes points. Je suppose que cela viens du fait que PHP ne connais pas le type de p1,p2 dans la fonction affiche.  

Code :
  1. class Point {
  2. var $x,$y;
  3. function Point ($x,$y)
  4. {
  5.   $this->x = $x;
  6.   $this->y = $y;
  7. }
  8. function affiche()
  9. {
  10.   echo " ($x,$y) ";
  11. }
  12. }
  13. class Ligne {
  14. var $p1,$p2;
  15. function Ligne ($p1,$p2)
  16. {
  17.   $this->p1 = $p1;
  18.   $this->p2 = $p2;
  19. }
  20. function affiche ()
  21. {
  22.   $this->p1->affiche();
  23.   $this->p2->affiche();
  24. }
  25. }


 
Donc en fait ma question est : est ce possible ou est ce moi qui me demerde mal ?

Reply

Marsh Posté le 15-03-2005 à 10:10:13   

Reply

Marsh Posté le 15-03-2005 à 12:28:32    

Tu as un message d'erreur ?

Reply

Marsh Posté le 15-03-2005 à 12:38:01    

dans ton constructeur de Ligne:
 
$this->p1=new Point(1, 12); //par exemple
 
 
Je connais que les rudiments de l'objet en php (chui encore avec php 4 :sweat:), mais si tu veux lui dire qu'une ligne c'est 2 points, alors faut l'écrire :whistle:


Message édité par lkolrn le 15-03-2005 à 12:41:20
Reply

Marsh Posté le 15-03-2005 à 12:44:14    

C'est ton constructeur de Ligne qui est bizarre :
- soit tu lui passes deux objets de type points que tu aurais instanciés avant
- soit tu passes les paramètres que tu veux, mais il faut que tu instancies $p1 et $p2 dans ton constructeur.

Reply

Marsh Posté le 15-03-2005 à 13:43:12    

Oki merci beaucoup
 
En effet maintenant je crois que je commence a mieux comprendre  :D  
En faite au debut je construisait bien les points dans le constructeur de Ligne mais j'avais oublié le "this", et apparemment php il veut absoluement le this
 
Bon en tout cas merchi beaucoup pour ces reponses !  :jap:

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed