Christoph: Hilfe für JavaScript

Guten Tag,
kann mir einer helfen?

Ich benötige einen HTML-Code inklusive JavaSript.

Es ist für die Schule, aber ich komme mit der Aufgabe nicht so gut zurecht.

Ich soll ein Objekt mit dem Namen Rechteck entwerfen. Es soll die zwei Eigenschaften Höhe und Breite haben.
Dabei soll ich den Konstruktor entwickeln.
Dann soll die Methode fläche( ) eingefügt werden. Sie soll es erlauben die Fläche eines Objekts vom Typ Rechteck zu bestimmen.
Dann soll eine Instanz vom Typ Rechteck erzeugt werden und es sollen die Eigenschaften sowie die Fläche für einen beliebigen Fall aus gegeben werden.

Kann mir jemand helfen ???

Vielen Dank im Vorraus.

Christoph

  1. Hallo Christoph

    So sollte es gehen. Du musst nur noch das ganze in eine HTML-Datei bringen.

    <SCRIPT LANGUAGE="JavaScript">
    <!--
    function bestimmeFlaeche()                //die Methode zur Bestimmung der Fläche.  
    {
                        var resultat
                        resultat = this.h * this.b
                        return resultat
    }

    function Rechteck(hoehe, breite)          //der Konstruktor, Objekt Rechteck mit den
    {                                                       //Eigenschaften Höhe und Breite.
                        this.h = hoehe
                        this.b = breite
                        this.bestimmeFlaeche = bestimmeFlaeche
    }                                                                                        
    //-->
    </SCRIPT>

    <SCRIPT LANGUAGE="JavaScript">
    <!--
    r = new Rechteck(20,30)                   //die Instanz vom Typ Rechteck, Ausgabe der
                                                          //Eigenschaften und der Fläche.
                        document.write("Höhe des Rechtecks = " + r.h + " m" + "<BR>")
                        document.write("Breite des Rechtecks = " + r.b + " m" + "<BR><BR>")
                        document.write("Fläche des Rechtecks = " + r.bestimmeFlaeche() +" m<SUP>2</SUP>" + "<BR><BR>")

    //-->
    </SCRIPT>

    Viele Grüße
    Dietmar Stübing

  2. Hallo Christoph

    Ich soll ein Objekt mit dem Namen Rechteck entwerfen. Es soll die zwei Eigenschaften Höhe und Breite haben.
    Dabei soll ich den Konstruktor entwickeln.
    Dann soll die Methode fläche( ) eingefügt werden. Sie soll es erlauben die Fläche eines Objekts vom Typ Rechteck zu bestimmen.
    Dann soll eine Instanz vom Typ Rechteck erzeugt werden und es sollen die Eigenschaften sowie die Fläche für einen beliebigen Fall aus gegeben werden.

    <html> <head> <title>Test</title>
    <script language="JavaScript">
    <!--
      function Rechteck(Hoehe,Breite)
       {
        this.Hoehe = Hoehe;
        this.Breite = Breite;
       }
    function Flaeche(RechteckObjekt)
    {
      return(RechteckObjekt.Breite * RechteckObjekt.Hoehe);
    }
    function Test()
    {
      Testrechteck = new Rechteck(20,40);
      Testflaeche = Flaeche(Testrechteck);
      alert(Testflaeche);
    }
      
      // -->
    </script>
    </head> <body onLoad="Test()">
    </body> </html>

    und schoene Gruesse an den Lehrer, er soll es noch mal erklaeren, so dass es alle verstehen ;-)

    viele Gruesse
      Stefan Muenz

    1. Hi Stefan,

      ich finde es nicht so gut, wenn in diesem Fall eine fix und fertige Lösung präsentiert wird. Er braucht jetzt nur die Lösung seinem Lehrer präsentieren, aber muss sich nicht durch den Stoff arbeiten und etwas dabei lernen. Bei der nächsten Aufgabe wird er wieder hängen, aber noch viel schlimmer.

      Gruss,
      Martin

      1. Hallo Martin,

        ich finde es nicht so gut, wenn in diesem Fall eine fix und fertige Lösung präsentiert wird. Er braucht jetzt nur die Lösung seinem Lehrer präsentieren, aber muss sich nicht durch den Stoff arbeiten und etwas dabei lernen. Bei der nächsten Aufgabe wird er wieder hängen, aber noch viel schlimmer.

        Eben diese Diskussion hatte ich als Hintergedanken durchaus im Kopf, als ich die Loesung postete. Es war fuer mich naemlich ein geradezu klassischer Fall. Anhand dieses Falls soll mal vielen Leuten sinnfaellig gemacht werden, wie falsch es sein kann, der hier so haeufig vorgetragenenen Bitte nach vollstaendigen schluesselfertigen Codes nachzukommen!
        Denn vielleicht hat jemand was aus diesem Thread gelernt - aber wahrscheinlich nicht Christoph. Da hast du voellig Recht.

        viele Gruesse
          Stefan Muenz

      2. Hi Martin,

        Du hast recht mit den fertigen Lösungen!
        Ganz fertig war meine ja nicht!

        Man kann nicht wissen, ob jemand wirklich auf dem Schlauch steht und sich mit dem Problem schon Tage beschäftigt oder ob er es sich zu einfach macht!

        Viele Grüße
        Dietmar Stübing

        1. Hi Dietmar,

          Man kann nicht wissen, ob jemand wirklich auf dem Schlauch steht und sich mit dem Problem schon Tage beschäftigt oder ob er es sich zu einfach macht!

          im Prinzip stimmt das schon, aber wenn Christoph schon Probleme mit dem Konstruktor hat, dann denke ich, dass hier schon das Verständnis fehlt.

          Gruss,
          Martin

    2. function Flaeche(RechteckObjekt)
      {
        return(RechteckObjekt.Breite * RechteckObjekt.Hoehe);

      Hallo Stefan Muenz,

      tschuldigung, dass ich an deinem Beispiel etwas richtigstellen will.

      Bei dir ist die Funktion Flaeche keine Methode von Rechteck, sondern eine eigenständige Funktion.

      Das Beispiel von Dietmar Stübing halte ich hingegen für richtig.

      Falls jeman noch mehr über OOP in JS weiß, währe das super. Ich suche nähmlich noch Vererbung und solche Sachen.

      ALEX

      1. Hallo!

        Falls jeman noch mehr über OOP in JS weiß, währe das super. Ich suche nähmlich noch Vererbung und solche Sachen.

        Na, dann gibt's extra fuer Dich die einzig wahre Informationsquelle zu JS: http://developer.netscape.com/docs/manuals/js/client/jsguide/index.htm. Kapitel 8 duerfte Deine Fragen beantworten. Und da man solche grossen Sachen besser offline liest, gibt's das auch zum Download: http://developer.netscape.com/docs/manuals/javascript.html.

        Calocybe