Bio: Objekt-Methode definieren

Hallo:

Ich habe (wie immer) ein enorm geheimes Projekt am Laufen (was mit DHTML), das völlig irrelevant ist; wichtig ist nur, daß ich dafür eigene Objekte definiere, die Koordinaten enthalten, was eine Menge Überparameter spart, weil man statt bewege (x,y,x1,y1,schritte ...) einfach bewege (objekt) angeben kann. Klar weiss ich, dass es eine Menge DHTML Bibliotheken gibt, aber die sind für mein Projekt natürlich gnadenlos unterdimensioniert :-))

Wie auch immer, schön wären zuzsätzlich zu eigenen Objekten auch eigene Objektmethoden, wie sie z.B. das String Objekt hat:

Ich habe das Objekt String, manipuliere daran herum, tausche Zeichen aus, und String.substring(0,3) gibt immer das aktuell 3te Zeichen im String, die Objektmethode substring wird also immer auf den aktuellen Objektinhalt angewandt.

Kann ich irgendwie eine eigene Objektmethode definieren? Eine, die z.B. in dieses Objekt eingebaut würde:

function objekt(x,y)
{
this.x=x;
this.y=y;
}

t=new objekt(1,2);

und wenn ich dann die Objektmethode produkt irgendwie eingebaut hätte, dann würde objekt.produkt immer den Rückgabewert objekt.x * objekt.y haben.

Hat jemand das Problem verstanden? Und vielleicht sogar eine Lösung?

Bio

  1. Hallo Bio

    Kann ich irgendwie eine eigene Objektmethode definieren? Eine, die z.B. in dieses Objekt eingebaut würde:

    function objekt(x,y)
    {
    this.x=x;
    this.y=y;
    }

    t=new objekt(1,2);

    und wenn ich dann die Objektmethode produkt irgendwie eingebaut hätte, dann würde objekt.produkt immer den Rückgabewert objekt.x * objekt.y haben.

    Hat jemand das Problem verstanden? Und vielleicht sogar eine Lösung?

    Für deinen spezifischen Fall natürlich nicht. Allerdings gab es schon mal eine Diskussion zu den Objekten.

    <../../sfarchiv/1999_4/t08555.htm#a42825>
    <../../sfarchiv/1999_4/t08595.htm#a43021>

    Vielleicht hilft die dir weiter. Roland hat damals auch eine Reihe weiterführende Links gepostet.

    Außerdem steht auch in SELFHTML einiges <../../tebc.htm>

    Viele Grüße

    Antje

    1. Klickt mal auf den ersten Link in Antjes Posting... da kriege ich immer nur ein Posting im ganzen Thread!

      Bio

      1. Hi Bio!

        Wo ist bei http://www.teamone.de/selfhtml/sfarchiv/1999_4/t08555.htm#a42825 ein problem?:
        <iframe src="http://www.teamone.de/selfhtml/sfarchiv/1999_4/t08555.htm#a42825" width="90%" height="90%"><../../sfarchiv/1999_4/t08555.htm#a42825></iframe>

        Da ist doch lediglich ein anker gesetzt...

        CU Roman

        1. Wenn ich den Link klicke, kriege ich, hier ein kleiner Auszug, das ist NICHT aneinanderkopiert, folgende Seite:
          Wie man sieht, sind die Ueberschriften korrekt, aber der Inhalt ist immer die gleiche Frage.
          Hast Du den Link ueberhaupt geklickt und mal geschaut?
          Das sollte man als Moderator schon machen :-)

          Oder sollte ich Opfer eines zufaelligerweise sowohl unter NN 4.61 unter Solaris und NN4.7 unter Win auftretenden Fehlers geworden sein?

          Bio
          ---

          (JAVASCRIPT) Objekte, die Objekte enthalten (Definition: WIE?)

          von: Frank,  Frank.Schumacher@t-online.de
          geschrieben am: 20.11.99, 18:22 Uhr

          Hi,
          ich möchte gern ein Objekt namens Fuhrpark erstellen, das mehrere Autos enthält, die ich dynamisch in einer Schleife erzeuge,
          etwa

          for( var i=0; i< ...){
          fuhrpark["auto" + i] = typ[i];
          fuhrpark["auto" + i].gefahrene_kilometer = x;
          fuhrpark["auto" + i].verbrauch = y;
          fuhrpark["auto" + i].fahrer = z;
          }

          Hierbei sind  typ [i], x, y, z beliebige Variablenwerte. Wie muss ich das Objekt Fuhrpark definieren, wie das Objekt (?) Auto,
          damit das Ganze funktioniert.
          Ich habe das in etwa so probiert wie beschrieben, ich erhalte aber immer undefined-Fehler.

          Muchas gracias for some help

          Frank

          (JAVASCRIPT) Objekte, die Objekte enthalten (Definition: WIE?)

          von: Antje Hofmann,  Frank.Schumacher@t-online.de
          geschrieben am: 20.11.99, 20:19 Uhr

          Hi,
          ich möchte gern ein Objekt namens Fuhrpark erstellen, das mehrere Autos enthält, die ich dynamisch in einer Schleife erzeuge,
          etwa

          for( var i=0; i< ...){
          fuhrpark["auto" + i] = typ[i];
          fuhrpark["auto" + i].gefahrene_kilometer = x;
          fuhrpark["auto" + i].verbrauch = y;
          fuhrpark["auto" + i].fahrer = z;
          }

          Hierbei sind  typ [i], x, y, z beliebige Variablenwerte. Wie muss ich das Objekt Fuhrpark definieren, wie das Objekt (?) Auto,
          damit das Ganze funktioniert.
          Ich habe das in etwa so probiert wie beschrieben, ich erhalte aber immer undefined-Fehler.

          Muchas gracias for some help

          Frank

          (JAVASCRIPT) Objekte, die Objekte enthalten (Definition: WIE?)

          von: Calocybe,  Frank.Schumacher@t-online.de
          geschrieben am: 20.11.99, 23:38 Uhr

          Hi,
          ich möchte gern ein Objekt namens Fuhrpark erstellen, das mehrere Autos enthält, die ich dynamisch in einer Schleife erzeuge,
          etwa

          for( var i=0; i< ...){
          fuhrpark["auto" + i] = typ[i];
          fuhrpark["auto" + i].gefahrene_kilometer = x;
          fuhrpark["auto" + i].verbrauch = y;
          fuhrpark["auto" + i].fahrer = z;
          }

          Hierbei sind  typ [i], x, y, z beliebige Variablenwerte. Wie muss ich das Objekt Fuhrpark definieren, wie das Objekt (?) Auto,
          damit das Ganze funktioniert.
          Ich habe das in etwa so probiert wie beschrieben, ich erhalte aber immer undefined-Fehler.

          Muchas gracias for some help

          Frank

          1. Hi Bio!

            Wenn ich den Link klicke, kriege ich, hier ein kleiner Auszug, das ist NICHT aneinanderkopiert, folgende Seite:
            Wie man sieht, sind die Ueberschriften korrekt, aber der Inhalt ist immer die gleiche Frage.

            Ok du hast recht - da scheint der schwanzabschneider wirklich einen hund reingehauen zu haben...

            Hast Du den Link ueberhaupt geklickt und mal geschaut?

            ja habe ich - hatte mich aber nicht für den inhalt interessiert <g/> - einfach nur geschaut ob alles da ist - Kopf, Postings, Fuß etc. - und das ist es ja <g/>

            Das sollte man als Moderator schon machen :-)

            DA muß ich jetzt was klarstellen! Wenn ich "Moderator - Roman Pfarrhofer" schreibe - bin ich moderator und vertrette die ideologien vom self* - wen ich als "Roman Pfarrhofer" spreche - bin ich ich und rede nur für mich, äußere meine wünsche und bedenken - welche durchaus von der allgemeinen meinung abweichen kann - so bitte ich nicht bei jeder aussage, fehler oder sonst für blödsinn den ich verzapfe gleich mit dem "Moderator" zu kommen - bin jetzt nicht böse - aber mußte das mal klarstellen

            CU Roman

            P.S.: Und wehe einer flaggt mir das posting mit noindex - will darauf verweisen können

  2. Hallo Bio,

    so muesste es klappen:

    function MeinObjekt(Eigenschaft1,Eigenschaft2,Eigenschaft3)) {
                    this.Eigenschaft1 = Eigenschaft1
                    this.Eigenschaft2 = Eigenschaft2
                    this.Eigenschaft3 = Eigenschaft3
                    this.MeineMethode = MeineMethode
    }
    function MeineMethode() {
                    ...das was passieren soll...
    }

    mit

    ObjektInstanz1 = new MeinObjekt(...)

    kannst du dann auf

    ObjektInstanz1.MeineMethode()

    zurueckgreifen.

    Ordendlich dokumentiert und mit Bezug zu DHTML (!) findest du das Ganze uebrigens unter:
    http://www.dansteinman.com/dynduo/en/newobjects.html

    Gruesse,
    Claus