Klasse::Klasse --> und dann auf Attribut der Mutterklasse zurückgreifen?

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

  • Klasse::Klasse --> und dann auf Attribut der Mutterklasse zurückgreifen?

    Ich habe eine Klasse, diese erstellt mir zu Laufzeit Objekte einer anderen Klasse. Also im Grunde Klasse Mutter hat Kinder. Jedes Kind ist wieder ein Objekt von der Klasse Kind. Jetzt nehmen wir an, in der Klasse Mutter gibt es die Eigenschaft "Verheiratet" = true oder false.
    Ist es jetzt irgendwie möglich das ich vom Kind aus abfragen kann ob die Mutter verheiratet ist?

    Also habe ich im Kind die Möglichkeit folgendes zu machen= Oder wie realisiert man so etwas sonst? Oder muss ich das Attribut dann dem Kind weiterreichen (wenn ich das Kind erstelle)?

    Mutter::verheiratet
    Ans Ziel kommt nur der, der auch eins hat. www.e-cross.info

  • #2
    PHP selbst kann das natürlich nicht ... da wirst Du wohl manuell beim Einfügen 'ne Referenz erstellen müssen.
    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


    • #3
      du könntest beim instanziieren der Kindklasse einen Zeiger
      auf die Mutterklasse mitgeben

      PHP-Code:
      class Mutter {
         function 
      Mutter(){
            
      $child = new Kind(this, ... );
         }
      }

      class 
      Kind{
         var 
      mutter;
         function 
      Kind(&$mutter, ... ){
            
      $this->mutter=&$mutter;
         }

      TBT

      Die zwei wichtigsten Regeln für eine berufliche Karriere:
      1. Verrate niemals alles was du weißt!


      PHP 2 AllPatrizier II Browsergame

      Kommentar


      • #4
        ok, danke, aber würde folgender Ansatz gehen...

        Ich schreibe mir in der Mutter eine Funktion "istVerheiratet". Diese gibt dann dann das Attribut "verheiratet" zurück. Kann ich dann die Methode vom Kind aus aufrufen?

        Mutter::istVerheiratet();

        aufrufen?
        Ans Ziel kommt nur der, der auch eins hat. www.e-cross.info

        Kommentar


        • #5
          mit meinem obigen Beispiel kannste auch direkt zugreifen
          PHP-Code:
          if($this->mutter->verheiratet==true)
          // ... 
          TBT

          Die zwei wichtigsten Regeln für eine berufliche Karriere:
          1. Verrate niemals alles was du weißt!


          PHP 2 AllPatrizier II Browsergame

          Kommentar


          • #6
            Ich könnte es aber auch so schreiben ...
            PHP-Code:
            if($this->mutter->verheiratet
            Aber jetzt noch mal zum verstehen. Es handlet sich dabei wirklich um ienen ZEiger, oder wird das Objekt kopiert?
            Ans Ziel kommt nur der, der auch eins hat. www.e-cross.info

            Kommentar


            • #7
              wenn du so übergibst

              PHP-Code:
              $child=new Kind(this,...)

              function 
              Kind($mutter, ... ) 
              wird eine Kopie angelegt, mit & übergibst du Referenzen (Zeiger)
              und dann wird keine Kopie gemacht
              PHP-Code:
              $child = new Kind ($this, ... )

              function 
              Kind(&$mutter,...){
                 
              $this->mutter=&$mutter;

              BEIDE & sind wichtig !!!
              TBT

              Die zwei wichtigsten Regeln für eine berufliche Karriere:
              1. Verrate niemals alles was du weißt!


              PHP 2 AllPatrizier II Browsergame

              Kommentar


              • #8
                okey, danke, hast mir sehr geholfen.

                Greatz
                Ans Ziel kommt nur der, der auch eins hat. www.e-cross.info

                Kommentar

                Lädt...
                X