tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
3
ZUGRIFFE
279
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Nob Nob ist offline Mitglied Silber
    Registriert seit
    Aug 2004
    Beiträge
    75
    Hallo zusammen

    Kann mir jemand dieses Ergebnis erkären?
    Ausgegeben wird "23".
    Ich verstehe nicht wiso nicht "2233" ausgegeben wird..

    PHP-Code:
        class a{
            var 
    $data;
            var 
    $instance;
            
            function 
    setData(&$data){
                
    $this->data = &$data;
            }
            function 
    out(){
                echo 
    $this->data;
            }
            function 
    outi(){
                
    $this->instance->out();
            }
            
            function 
    makeInstance(){
                
    $this->instance = new a();
                
    $this->instance->setData($this->data);
            }
        }
        
        
        
    $i 2;
        
    $eins = new a();
        
    $eins->makeInstance();
        
    $eins->setData($i);
        
    $eins->out();
        
    $eins->outi();
        
    $i 3;
        
    $eins->out();
        
    $eins->outi(); 
    Vielen Dank
    Michi
     

  2. #2
    Radhad Radhad ist offline Mitglied Diamant
    Registriert seit
    Mar 2003
    Ort
    Wuppertal (NRW)
    Beiträge
    1.917
    Blog-Einträge
    35
    Wenn du die Instanz der Klasse angibst, ist $data noch nicht gefüllt. du musst beim Aufruf makeInstance() auch die Variable übergeben. Zudem solltest du den Standard-Konstruktor beim Aufruf verwenden!
     
    Mein neues Projekt: zandman.de - Bericht über den Aufbau einer Entwicklungsumgebung für Test-Driven-Development mit phpUnderControl und dem Aufbau einer Webapplikation mit Zend Framework Version 1.9.x

  3. #3
    Registriert seit
    Dec 2002
    Ort
    Trier
    Beiträge
    17.502
    Blog-Einträge
    10
    Beim Aufruf der makeInstance()-Methode besitzt das data-Attribut noch keinen Wert. Daher besitzt auch das data-Attribut des instance-Objekts keinen Wert, womit auch die outi()-Methode keinen Wert ausgibt.
     
    Markus Wulftange

  4. #4
    Nob Nob ist offline Mitglied Silber
    Registriert seit
    Aug 2004
    Beiträge
    75
    Ja aber ich gebe doch die Referenz mit oder?
    Weil bei
    PHP-Code:
    $i 3
    $eins->out(); 
    ändert sich $data ja auch...
     

Ähnliche Themen

  1. Referenzen auf Instanzen
    Von FJK im Forum .NET Café
    Antworten: 26
    Letzter Beitrag: 29.12.10, 22:33
  2. LaTeX - URL Referenzen?
    Von BaseBallBatBoy im Forum Office-Anwendungen
    Antworten: 0
    Letzter Beitrag: 21.10.09, 21:22
  3. Referenzen auf Objekte
    Von JavaJoe? im Forum Java Grundlagen
    Antworten: 8
    Letzter Beitrag: 04.06.09, 08:39
  4. dll referenzen
    Von DerStauner im Forum .NET Windows Forms
    Antworten: 5
    Letzter Beitrag: 25.04.09, 09:10
  5. C Referenzen
    Von FactorX im Forum C/C++
    Antworten: 3
    Letzter Beitrag: 01.05.02, 16:10