Janine: Elternmethode aufrufen

Hi

wie kann ich in einer überschriebene Methode die Elternmethode aufrufen?

Hier im Forum und per Google bin ich nicht ganz fündig geworden, was sicherlich an den Suchwörtern liegt.

Janine

  1. Hi,

    wie kann ich in einer überschriebene Methode die Elternmethode aufrufen?

    Was soll denn die Elternmethode sein - die, die du überschrieben hast?

    Die kannst du über die Referenz auf sie, die du vor dem Überschreiben gesichert hast, aufrufen.

    MfG ChrisB

    --
    Light travels faster than sound - that's why most people appear bright until you hear them speak.
    1. H!

      wie kann ich in einer überschriebene Methode die Elternmethode aufrufen?

      Was soll denn die Elternmethode sein - die, die du überschrieben hast?

      Die kannst du über die Referenz auf sie, die du vor dem Überschreiben gesichert hast, aufrufen.

      ich mache in etwa soetwas

      function Elternklasse(){  
        this.test = function(){  
          alert("Elternklasse");  
        }  
      }  
      function Kindklasse(){  
        this.test = function(){  
          alert("Kindklasse");  
          //wie kann ich hier die Methode test der Elternklasse aufrufen?  
        }  
      }  
      Kindklasse.prototype = new Elternklasse();  
      kindklasse = new Kindklasse();  
      kindklasse.test()
      

      ich möchte zuerst Kindklasse und dann Elternklasse ausgegeben haben.

      Janine

      1. ich mache in etwa soetwas

        function Elternklasse(){

        this.test = function(){
            alert("Elternklasse");
          }
        }
        function Kindklasse(){
          this.test = function(){
            alert("Kindklasse");
            //wie kann ich hier die Methode test der Elternklasse aufrufen?
          }
        }
        Kindklasse.prototype = new Elternklasse();
        kindklasse = new Kindklasse();
        kindklasse.test()

        
        >   
        > ich möchte zuerst Kindklasse und dann Elternklasse ausgegeben haben.  
          
        z.b. so  
        ~~~javascript
        function Kindklasse(){  
          var test = this.test;  
          this.test = function(){  
            alert("Kindklasse");  
            //wie kann ich hier die Methode test der Elternklasse aufrufen?  
            test.call(this);  
          }  
        }  
        
        

        Struppi.

        1. H

          function Kindklasse(){

          var test = this.test;
            this.test = function(){
              alert("Kindklasse");
              //wie kann ich hier die Methode test der Elternklasse aufrufen?
              test.call(this);
            }
          }

            
          danke  
            
          Hätte ich [diese Seite](http://www.html-world.de/program/js_o_fun.php) vorher gefunden, hätte ich evtl. nicht Fragen müssen.  
            
          Kann es sein, dass darüber nichts bei selfhtml steht?  
            
          Janine
          
          1. Hi,

            Kann es sein, dass darüber nichts bei selfhtml steht?

            Im JavaScript-Bereich der Referenz nicht viel.

            Bei den SELFHTML Aktuell Artikeln findest du schon eher "anspruchsvolleres", bspw.

            MfG ChrisB

            --
            Light travels faster than sound - that's why most people appear bright until you hear them speak.
          2. Hätte ich diese Seite vorher gefunden, hätte ich evtl. nicht Fragen müssen.

            Das bezweifle ich, da der von mir vorgeschlagene Weg ein übler Workaround dafür ist, das es in JS kein SUPER Attribut gibt. Eine andere etwas elegantere Lösung wäre:

            function Elternklasse(){  
              this.test = function(){  
                alert("Elternklasse");  
              }  
            }  
              
            function Kindklasse(){  
              this.test = function(){  
                alert("Kindklasse");  
                //wie kann ich hier die Methode test der Elternklasse aufrufen?  
            	Kindklasse.parent.test.call(this);  
              }  
            }  
            Kindklasse.prototype = new Elternklasse();  
            Kindklasse.parent = Kindklasse.prototype;  
              
            kindklasse = new Kindklasse();  
            kindklasse.test()  
            
            

            So kannst du auch prototype für die Deklaration der Funktionen verwenden.

            Struppi.