Klassen Attribute

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Klassen Attribute


    Bisher habe ich Klassen so verstanden, das in der Klassendefinition anzahl und namen der Attribute ( ergo Klassenvariablen ) festgelegt werden und im Konstruktur initalisiert werden.
    Einem Objekt können dann keine weiteren Attribute hinzugefügt werden
    Beim proggen einer Klasse bin ich aber auf folgende "Merkwürdigkeit" gestoßen:
    PHP-Code:
    <?php
    /** Filename: classtest.class*/
    class test
    {
     var 
    $foo;
     var 
    $bar;
     function 
    test(){
              
    $this->foo "ich bin foo";
              
    $this->bar "ich bin bar";
     }
     function 
    WiesoGehtDas(){
              
    $this->foobar "foobar";
     }
    }
    ?>
    PHP-Code:
    <?php
    /** Filename: classtest.php*/
    include("classtest.class");
    $obj = new test();
    $obj->WiesoGehtDas();
    echo 
    "<pre>";
    echo 
    print_r($obj);
    echo 
    "<pre>";
    echo 
    $obj->foobar;
    ?>
    Das darf doch eigentlich nicht gehen, oder kann man tatsächlich nachträglich weitere Klassenattribute erzeugen
    "I don't want to belong to any club that would accept me as a member."

    Groucho Marx

  • #2
    es spricht nichts dagegen mal eben ne neue variable in der klasse anzulegen.

    Kommentar


    • #3
      hm wenns geht is doch schön

      war mir aber auch noch nicht bekannt..

      aber du solltest deine dateien eine php endung geben und nich .class
      so kann sie jeder runterladen

      mfg

      Kommentar


      • #4
        In PHP wird sie OOO um einiges verbessern. Zum Beispiel im bezug auf private Fkt usw. Hab jetzt keine Info ob das ^^ dann auch strickter durchgezogen wird. Im moment ist PHP ja (leider) etwas fehlertollerant.

        Kommentar


        • #5
          erscheint mir nur unlogisch:
          in der Definition lege ich fest, wie mein objekt aussehen soll und anschließend brauche ich mich nicht dran zu halten.
          ich plane quasi ein Auto und mach dann in der Produktion an eins der Autos einfach Flügel dran, anstatt ein FliWaTüt zu planen.
          Aber wenns klappt gut zu wissen..........................
          "I don't want to belong to any club that would accept me as a member."

          Groucho Marx

          Kommentar


          • #6
            es is a bisserl inkonsequent und auf oo-konzept von php zurückzuführen

            ich für meinen teil fänd's besser / konsequenter, wenn bei sowas ne fehlermeldung käme

            mal schauen was php 5 macht
            Ich denke, also bin ich. - Einige sind trotzdem...

            Kommentar


            • #7
              Ich glaube schon das dieses durchaus beabsichtigt war ... sonst würden die beiden Funktionen "get_class_vars" und "get_object_vars" gleich viel weniger Sinn machen ...
              carpe noctem

              [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
              [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

              Kommentar


              • #8
                beabsichtigt bestimmt, aber ich persönlich find's einfach inkonsequent, wozu überlege ich mir denn erst die struktur einer klasse, ambesten noch mit schön vielen kommentaren, die dann automatisch zuner dokumentation verwurstelt werden, wenn ich wo immer ich will, neue klassenvariablen anlegen kann


                geht das auch von außerhalb?
                PHP-Code:
                $obj->michgibtsnicht='jetzt aber doch'
                ?
                Ich denke, also bin ich. - Einige sind trotzdem...

                Kommentar


                • #9
                  Ja das geht, ist aber absolute Todsünde.

                  Kommentar

                  Lädt...
                  X